Перейти к основному контенту
Поддержка
Войдите с помощью учетной записи Майкрософт
Войдите или создайте учетную запись.
Здравствуйте,
Выберите другую учетную запись.
У вас несколько учетных записей
Выберите учетную запись, с помощью которой нужно войти.

В ЭТОЙ ЗАДАЧЕ

Аннотация

Visual Basic .NET приложения, размещающие элемент управления WebBrowser можно обработать событие NewWindow2 для перехвата window.open вызов, созданного сценарием. Тем не менее это не очевидно, получение значения ширины и высоты, которые передаются функции аргумент window.open таким образом, чтобы узел WebBrowser корректно изменять размеры окна приложения. В этой статье показано, как получить новую ширину и высоту элемента управления WebBrowser и как можно соответствующим образом изменить размер формы.

Требования

В приведенном ниже списке перечислены требования к оборудованию, сети, программному обеспечению и пакетам обновления.

  • Microsoft Visual Studio .NET

  • Пакет обновления Internet Explorer 5.5 2 или более поздней версии

Создание образца

В этом разделе описывается, как разместить элемент управления WebBrowser в приложениях Visual Basic .NET, как обрабатывать событие NewWindow2 элемента управления WebBrowser и способ обработки события WindowSetHeight и WindowSetWidth Изменение размера приложения.

  1. Создайте новое приложение Windows в Visual Basic следующим образом:

    1. Запустите Visual Studio .NET.

    2. В меню файл выберите пункт Создать и выберите Проект.

    3. В области Типы проектоввыберите Проекты Visual Basic. В области Шаблонывыберите Приложение Windows.

  2. В панели элементов щелкните Общие, щелкните правой кнопкой мыши в области элементов и выберите команду Настройка панели элементов.

  3. На вкладке Компоненты COM установите флажок Веб-обозревателем Майкрософт и нажмите кнопку ОК.

  4. В панели элементов дважды щелкните в окне обозревателя.

  5. Добавьте в форму элемент управления Button и элемент управления TextBox .

  6. Дважды щелкните кнопку для просмотра реализации события onClick кнопки в окне кода и добавьте следующий код:

        Private Sub Button1_Click(ByVal sender As System.Object, _        ByVal e As System.EventArgs) Handles Button1.Click            AxWebBrowser1.Navigate(TextBox1.Text)    End Sub

    Этот код позволяет просматривать на URL-адрес, указанный в текстовом поле.

  7. Добавьте следующий код для написания функции обработчика для NewWindow2:

        Private Sub AxWebBrowser1_NewWindow2(ByVal sender As Object, _        ByVal e As AxSHDocVw.DWebBrowserEvents2_NewWindow2Event) _        Handles AxWebBrowser1.NewWindow2            Dim frmWB As Form1            frmWB = New Form1()            frmWB.AxWebBrowser1.RegisterAsBrowser = True            e.ppDisp = frmWB.AxWebBrowser1.Application            frmWB.Visible = True    End Sub
  8. Добавьте следующий код для написания функции обработчика для WindowSetHeight:

        Private Sub AxWebBrowser1_WindowSetHeight(ByVal sender As Object, _        ByVal e As AxSHDocVw.DWebBrowserEvents2_WindowSetHeightEvent) _        Handles AxWebBrowser1.WindowSetHeight            Dim heightDiff As Integer            heightDiff = Me.Height - Me.AxWebBrowser1.Height            Me.Height = heightDiff + e.height    End Sub
  9. Добавьте следующий код для написания функции обработчика для WindowSetWidth:

        Private Sub AxWebBrowser1_WindowSetWidth(ByVal sender As Object, _        ByVal e As AxSHDocVw.DWebBrowserEvents2_WindowSetWidthEvent) _        Handles AxWebBrowser1.WindowSetWidth            Dim widthDiff As Integer            widthDiff = Me.Width - Me.AxWebBrowser1.Width            Me.Width = widthDiff + e.width    End Sub

Полный пример кода

Public Class Form1    Inherits System.Windows.Forms.Form#Region " Windows Form Designer generated code "    'Omitted#End Region    Private Sub Button1_Click(ByVal sender As System.Object, _        ByVal e As System.EventArgs) Handles Button1.Click            AxWebBrowser1.Navigate(TextBox1.Text)    End Sub    Private Sub AxWebBrowser1_NewWindow2(ByVal sender As Object, _        ByVal e As AxSHDocVw.DWebBrowserEvents2_NewWindow2Event) _        Handles AxWebBrowser1.NewWindow2            'MessageBox.Show(AxWebBrowser1.Height & ":" & AxWebBrowser1.Width)            'MessageBox.Show(doc.body.innerHTML)            Dim frmWB As Form1            frmWB = New Form1()            frmWB.AxWebBrowser1.RegisterAsBrowser = True            'frmWB.AxWebBrowser1.Navigate2("about:blank")            e.ppDisp = frmWB.AxWebBrowser1.Application            frmWB.Visible = True            'MessageBox.Show(frmWB.AxWebBrowser1.Height & ":" & frmWB.AxWebBrowser1.Width)    End Sub    Private Sub AxWebBrowser1_WindowSetHeight(ByVal sender As Object, _        ByVal e As AxSHDocVw.DWebBrowserEvents2_WindowSetHeightEvent) _        Handles AxWebBrowser1.WindowSetHeight            'MessageBox.Show("In SetHeight" & Me.Height & ":" & e.height)            Dim heightDiff As Integer            heightDiff = Me.Height - Me.AxWebBrowser1.Height            Me.Height = heightDiff + e.height    End Sub    Private Sub AxWebBrowser1_WindowSetWidth(ByVal sender As Object, _        ByVal e As AxSHDocVw.DWebBrowserEvents2_WindowSetWidthEvent) _        Handles AxWebBrowser1.WindowSetWidth            'MessageBox.Show("In SetWidth" & Me.Width & ":" & e.width)            Dim widthDiff As Integer            widthDiff = Me.Width - Me.AxWebBrowser1.Width            Me.Width = widthDiff + e.width    End SubEnd Class

Убедитесь, что он работает

  1. Постройте приложение.

  2. Откройте программу «Блокнот». Создайте новый файл с именем Test.htm и затем добавьте следующий код:

    <HTML><HEAD><META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"><TITLE></TITLE><script>function openWin(){var win;win = window.open("http://www.microsoft.com","blah","width=600, height=600");}</script></HEAD><BODY><button onClick=openWin()>Open Window</button></BODY></HTML>
  3. Сохраните Test.htm на веб-сервере.

  4. Запустите приложение.

  5. Нажмите кнопку Обзор, чтобы страница Test.htm Обратите внимание, что корпоративный веб-узел откроется в новом экземпляре приложения. По параметрам, которые переданы при вызове window.openизменения размеров формы.

Ссылки

Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

311284 как: обрабатывать события документа в приложении Visual Basic .NET

Методические УКАЗАНИЯ 259963 : получить ширину и высоту предоставляемое Window.open внутри узла WebBrowser Visual C++Дополнительные сведения об элементе управления WebBrowser, а также методы свойства и события, которые он предоставляет, обратитесь на следующий веб-узел корпорации Майкрософт:

Элемент управления WebBrowser: Ссылка для разработчиков Visual Basichttp://msdn2.microsoft.com/en-us/library/Aa752043.aspxДополнительные сведения о разработке веб-приложений для Microsoft Internet Explorer посетите следующий веб-узел Майкрософт:

http://msdn.microsoft.com/ie/ http://support.microsoft.com/iep

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

Спасибо за ваш отзыв!

×