Автор: tuenhai.com msn: king#tuenhai.com
Заявление об авторском праве: Вы можете перепечатать его по желанию. При перепечатку, пожалуйста, укажите исходный источник статьи, информацию о авторе и это утверждение в виде гиперссылки.
http://www.tuenhai.com/
Инструменты разработки: Microsoft Visual Studio .net 2003
Операционная система: Windows XP
Оригинальный текст: http://www.devx.com/vb2themax/tip/18798
Как и другие элементы управления, мы можем использовать управление WebBrowser для создания приложений формы Windows. Выберите группу управления форм Windows из набора инструментов, нажмите «Microsoft Web Browser» и используйте инструмент aximp.exe в фоновом режиме, чтобы создать элемент управления Activex с именем «Axwebrowser». В VB.NET компоненты COM не могут использоваться напрямую. Com - все не управляемые коды. Если вы используете эти компоненты в VB.NET, вы должны завершить конверсию из неуправляемого кода в управляемый код.
Как правило, вы можете использовать оригинальный элемент управления WebBrowser, например, метод вызова, указать свойства, события поймать и т. Д.
Некоторые вещи не так просты. Мы хотим захватить события страниц, например, когда пользователь нажимает на элемент страницы (например, фон), он запускает событие OnClick элемента страницы. Если событие не пойман, уровень DHTML должен быть обновлен до самого высокого уровня объекта документа. Таким образом, мы можем захватить любое событие. В VB6 мы можем просто указать webbrowser.document to mshtml.htmldocument с ключевым словом WithEvents.
В VB.net этот простой метод больше не работает. Поскольку элемент управления ActiveX создает два интерфейса, одно и то же имя метода используется в обоих интерфейсах, что приводит к ошибке времени выполнения. Таким образом, вы должны указать интерфейс, используемый объектом документа, и создать ручку обработки событий (хе -хе, Туенхай хорошо переведен).
Вот пример кода:
'Важно: этот код предполагает, что вы добавили ссылку на
'Microsoft HTML Библиотека библиотеки объектов Тип типа
Private Sub form1_Load (отправитель byval как system.object, _
Byval E As System.Eventargs) обрабатывает mybase.load.
axwebrowser1.navigate ("http: //localhost/default.asp")
Конец суб
Private Sub Axwebrowser1_NavigateCOMPLETE2 (отправитель BYVAL как объект, _
byval e as axshdocvw.dwebbrowserevents2_navigatecomplete2event)
axwebrowser1.navigatecoplete2
'Должен ждать этого события, чтобы получить действительную ссылку на документ
' свойство
Dim Doc As mshtml.htmldocument = Directast (axwebbrowser1.document, _
mshtml.htmldocument)
'поднимается на интерфейс, который определяет интересное событие, которое вас интересует
Dim Documents как mshtml.htmldocumentevents2_event = Directast (doc, _
mshtml.htmldocumentevents2_event)
'Определите обработчик на мероприятии OnClick
addhandler documents.onclick, адрес onclickproc
Конец суб
'Заметьте, что подпись этого события отличается от обычного, как это
Ожидается, что он вернет логический - если неверно связан с эффектом по умолчанию
'С событием (например, прыжок на другую страницу, если щелчок
«Гиперссылка) отменена.
частная функция OnClickProc (Byval obj as mshtml.ihtmlleventobj) как логический
'объект на странице был нажат - вы можете узнать больше о
Тип и положение этого объекта, запрашивая свойства OBJ
... ...
конечная функция
Примечание переводчика:
Это первый перевод Туенхай.
В последние дни мой личный опыт выиграл от путешествий по веб -сайтам дизайна программ за границу. Я также думал о «обучении у лучшего» обучения каллиграфии. Способ к совместному обеспечению заключается в том, чтобы идти на международном уровне. Разве это не то же самое при обучении дизайна программного обеспечения? Как международные учебные ресурсы сравниваются с внутренними учебными ресурсами?
Английский ни в коем случае не является препятствием. Туенхай не верит, что его английский будет лучше вас. Основы средней школы, а также Powerwords Kingsoft, этого достаточно.