Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: ComboBox + axWebBrowser Добавлено: 20.08.05 19:12  

Автор вопроса:  Ruslan_x
Ситуация:
На форме есть ComboBox, а под ним - контрол axWebBrowser.
Активен ComboBox, т.е. в нем находится курсор для ввода текста.

Задача:
Отловить нажатие Ctrl+F, и вызвать окошко "Find" в axWebBrowser'е.

Этого же можно добиться, если просто кликнуть мышкой в тело axWebBrowser и нажать Ctrl+F. Но фишка в том, чтобы сделать это прямо из ComboBox.

Это вообще реально? А то я уже себе мозги сломал....

Как всегда, буду признателен за ответ.

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #1 Добавлено: 20.08.05 23:11
Private Sub Combo1_KeyPress(KeyAscii As Integer)
MsgBox KeyAscii
End Sub

если просто F то возвращает 102, если Ctrl+F тогда 6...

итак в Combo1_KeyPress
if KeyAscii = 6 then 'Нажали Ctrl+F
WebBrowser1.SetFocus 'Установили на него фокус
SendKeys vbKeyControl + vbKeyF 'Нажали на кнопку
end if

SendKeys vbKeyControl + vbKeyF 'Нажали на кнопку


токо тут одна трабла...

ты говорил что,
Этого же можно добиться, если просто кликнуть мышкой в тело axWebBrowser и нажать Ctrl+F.


так вот у меня неполучилось вызвать Find окошко не программно, не если самому кликнуть в тело и нажать Ctrl + f ...

Ответить

Номер ответа: 2
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #2 Добавлено: 20.08.05 23:26
мда... ;) прошу прощения, перепутал с vb6.

Ответить

Номер ответа: 3
Автор ответа:
 Ruslan_x



Вопросов: 7
Ответов: 41
 Профиль | | #3 Добавлено: 21.08.05 16:50
Должно работать, но не работает!!

Вот смотрите, берете пустую форму, кидаете на нее axWebBrowser1. При загрузке формы пусть какая-нибудь длинная страница загружается в axWebBrowser1:


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Me.AxWebBrowser1.Navigate("C:\j.htm";)
   
End Sub


И пусть еще на форме будет кнопка Button1, с помощью которой протестируем обращение к axWebBrowser1:


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Me.AxWebBrowser1.Focus()
        SendKeys.Send("{down}";)

End Sub



Что должно происходить в теории?

При загрузке формы загружается длинная страница в AxWebBrowser1. И при нажатии на кнопку Button1 страница в браузере должна понемногу сдвигаться вниз (скроллинг), как будто мы нажимаем курсор вниз.

Попробуйте - это не работает!!! По крайней мере у меня на VB.NET 2003.

Однако стоит лишь раз кликнуть мышкой в AxWebBrowser1, как все начинает работать... Похоже проблема с тем, как установить фокус на AxWebBrowser1.

При отладке эта функция - Me.AxWebBrowser1.Focus() - возвращает False.

В чем тут собака зарыта? Как заставить работать SendKeys с самого начала?

Ответить

Номер ответа: 4
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #4 Добавлено: 22.08.05 00:14
я хоть и не нетчик, но мне кажется что ты неправельно обращаешся к Me.AxWebBrowser1.Focus() или забываешь что-то передать, отвинта она бы false не возвращала

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам