Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Разработка Windows Forms > Как установить фокус на элемент в webBrowser'e? |
Автор: Yama 28.11.2006, 14:01 |
Есть список всех HTML-тегов. Надо при выборе какого-либо тега из списка установить фокус в webBrowser'е на этот элемент. Подскажите, плз, кто знает. и, по возможности, ![]() |
Автор: smartov 28.11.2006, 14:23 | ||
Ну не все элементы могут иметь фокус, только те, в которых возможен ввод или объекты - все input, textarea например. С ними все просто - элемент.focus()
|
Автор: Yama 28.11.2006, 15:32 |
smartov, это то понятно. Но как быть с теми элементами, у которых нет ID? это гиперссылки, имейджи и т.д. . Можно, конечно, присвоить всем айди, но тогда скрипты не работают ![]() |
Автор: smartov 29.11.2006, 00:08 | ||
Yama, читаем доку и находим ![]()
В inputs имеем все элементы тега input на странице. Делаем с ними все, что хочется. |
Автор: Yama 29.11.2006, 11:07 | ||||
Эх, если бы мне были нужны только инпуты, я бы не создавал топик ![]() ![]() |
Автор: smartov 29.11.2006, 12:10 |
Yama, А луну с неба на любом элементе не надо? ![]() Что ты подразумеваешь под фокусом и как тебе браузер поставит фокус на элемент <br> например ? |
Автор: Yama 29.11.2006, 12:49 | ||
Луну не надо, т.к. если упадет на землю, тут никому мало не покажется, так что пускай висит там, где есть ![]() 1) <td> - это контейнер для элемента, который отображается на экране, так что, по крайней мере, по теории должно давать фокус на <td>......[тут наш фокус]......</td> . Редактирую - на контейнеры <td>..</td> фокус действительно ставит! 2)
Все работает. Проверял сам. Только скрипты на страницах глючат, т.к. они к Id привязаны. Если бы со скраптами проблем небыло - небыло бы и этого торика ![]() 3) Фокус на любой HTML элемент в веббраузере реализован в тестКомплите, только как - я не знаю. Поэтому изобретаю велосипед, но все-таки надеюсь, что кто-то его уже изобрел, поэтому http://forum.vingrad.ru/index.php?showtopic=124098&view=findpost&p=939835 4 и самое важное ) Надо реализовать фокус на НТМЛ-элемент в вебБраузере НЕ ИЗМЕНЯЯ содержимое документа, т.е. НЕ переопределяя НИ ОДИН тег. З.Ы. а луну не трогай ![]() ![]() |
Автор: ivashkanet 29.11.2006, 13:02 |
Можно я чуть чуть влезу? Yama, тебе нужен именно фокус, или достаточно переместить страницу к нужному элементу? можно это скомбинировать: если для элемента возможен фокус, то фокус на него, если нет --- то просто передвигаем страницу на него. |
Автор: Yama 29.11.2006, 13:06 |
Хммм... вариант. У webBrowser'a есть еще фокус по координатам... если подскажешь, как сделать то, что ты сказал - будет просто замечательно ![]() З.Ы. ты не влез ![]() ![]() |
Автор: smartov 29.11.2006, 13:42 |
ставит фокус или перемещает (скроллит) страницу к этому месту. Ты понимаешь что это две большие разницы, как говорят в Одессе? На счет скролла должны быть довольно нативные функции (даже у js это делается простым scrollTo); получить позицию нужного элемента думаю для тебя не трабл. |
Автор: Yama 29.11.2006, 13:43 | ||||||
Ок! Идея хорошая. Буду развивать. Когда реализую фокус - выложу код. З.Ы. За любую помощь - БОЛЬШОЕ СПАСИБО! З.З.Ы. Одна голова хорошо, 2 - лучше, а 3 - вообще замечательно! - сказал Змей Горыныч... З.З.З.Ы. Тааак, а почему у этого велостпеда колеса квадратные?.. Что бы по булыжникам лучше ездить было, да? Ну-ну, сейчас круглые делать будем, посмотрим, что получится... Добавлено @ 13:46
Хммм... на <td>..</td> действительно фокус ставит. На счет скроллинга - спасибо за идею. еще +1. Если не сложно, можешь сделать пример со скроллингом? |
Автор: smartov 29.11.2006, 14:35 |
На C# нет ![]() ![]() |
Автор: Yama 29.11.2006, 15:25 | ||
давай на JS ![]() ![]() |
Автор: redig 22.10.2007, 08:13 | ||
У меня тоже возник вопрос по установке фокуса. Решение:
|