Преминаване към основното съдържание
Поддръжка
Влизане с Microsoft
Влезте или създайте акаунт.
Здравейте,
Изберете друг акаунт.
Имате няколко акаунта
Изберете акаунта, с който искате да влезете.

В ТАЗИ ЗАДАЧА

Обобщена информация

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

Изисквания

Следният списък описва препоръчителните хардуер, софтуер, мрежова инфраструктура и сервизни пакети, които се нуждаете от:

  • Microsoft Visual Studio .NET

  • Microsoft Internet Explorer 5.5 Service Pack 2 или по-късно

Създаване на примерни

Този раздел описва как да хоствате контрола WebBrowser в приложение на Visual Basic .NET, как да се справят с NewWindow2 събитие на контрола WebBrowser и след това как да се справят с WindowSetWidth и WindowSetHeight събития Преоразмеряване на вашето приложение.

  1. Създаване на нов Windows приложение в Visual Basic както следва:

    1. Стартиране на Visual Studio .NET.

    2. В менюто файл посочете Създайи щракнете върху проекта.

    3. Под Типове проектищракнете върху Проекти на Visual Basic. Под шаблонищракнете върху Windows приложение.

  2. В кутията с инструменти щракнете върху Общищракнете с десния бутон в кутията с инструменти и изберете Персонализиране инструменти.

  3. В раздела COM компоненти Поставете отметка в квадратчето Microsoft уеб браузър и след това щракнете върху OK.

  4. В кутията с инструменти щракнете двукратно върху в прозорец на Explorer.

  5. Добавяне на бутон и контрола текстово поле във вашия формуляр.

  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. Отворете Notepad. Създайте нов файл с име 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 и след това щракнете върху бутона. Забележете, че корпоративен уеб сайта на Microsoft се отваря в нов екземпляр на приложението. Формулярът се преоразмерява според функциите, които се предават с покана да window.open.

Препратки

За допълнителна информация щракнете върху следните номера на статии в базата знания на Microsoft:

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

259963 HOWTO: получите ширина и височина доставят Window.open вътрешната Visual C++ WebBrowser хостЗа повече информация относно контрола WebBrowser, както и методите свойствата и събития, които излага, се отнася към следния уеб сайт на Microsoft:

Управление на уеб браузър: Справка за разработчиците на Visual Basichttp://msdn2.microsoft.com/en-us/library/Aa752043.aspxЗа повече информация за разработване на уеб базирани решения за Microsoft Internet Explorer посетете следните уеб сайтове на Microsoft:

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

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?
Като натиснете „Подаване“, вашата обратна връзка ще се използва за подобряване на продуктите и услугите на Microsoft. Вашият ИТ администратор ще може да събира тези данни. Декларация за поверителност.

Благодарим ви за обратната връзка!

×