У ЦЬОМУ ЗАВДАННІ
Загальні відомості
Visual Basic .NET програми, яких зберігаються керування WebBrowser може працювати з NewWindow2 події зловити виклик Window. Open , створені сценарію. Однак, це не одразу як отримати програму значення ширини та висоти, що передаються функції аргумент Window. Open , тож хоста браузер можна змінити розмір вікна належним чином. У цій статті демонструє, як отримати новий ширину та висоту, що браузер елемента керування і як змінити розмір форми, відповідно.
Вимоги
У списку нижче наведено рекомендації щодо необхідного обладнання, програмного забезпечення, інфраструктури мережі і пакетів оновлень.
-
Microsoft Visual Studio .NET
-
Microsoft Internet Explorer 5.5 з пакетом оновлень 2 або пізнішої версії
Створення зразка
У цьому розділі описано, як розмістити керування WebBrowser у застосунку Visual Basic .NET, як поводитися з NewWindow2 подія керування WebBrowser а потім як, WindowSetWidth та WindowSetHeight події розмір вашого застосунку.
-
Створіть нову програму Windows у Visual Basic наступним чином:
-
Запустіть Visual Studio .NET.
-
У меню " файл " створитиі виберіть проект.
-
У Проекті типівнатисніть кнопку " Visual Basic проектів". У розділі шаблонинатисніть кнопку " Застосунку Windows".
-
-
На панелі інструментів виберіть загальні, клацніть правою кнопкою миші, панелі інструментів та виберіть Елементи, настроювання.
-
На вкладці COM-компоненти установіть прапорець Microsoft веб-браузер і натисніть кнопку OK.
-
На панелі інструментів двічі клацніть у вікні провідника.
-
Додати кнопки та керування текстового поля форми.
-
Двічі клацніть кнопку, щоб переглянути події 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-адреси, указані в текстовому полі.
-
Додайте наведений нижче код написати обробник функції для 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
-
Додайте наведений нижче код написати обробник функції для 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
-
Додайте наведений нижче код написати обробник функції для 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
Переконайтеся, що він працює
-
Створення застосунку.
-
Відкрийте Блокнот. Створити новий файл з ім'ям 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>
-
Збережіть Test.htm, на веб-сервері.
-
Запустіть програму.
-
Перейдіть на сторінку Test.htm і натисніть кнопку ". Зверніть увагу, що корпоративних веб-сайт відкриється в новому екземплярі застосунку. У формі зміниться відповідно до пройшов з Window. Openвиклику функції.
Посилання
Щоб отримати додаткові відомості клацніть номер статті в базі знань Microsoft Knowledge Base:
311284 як: обробки документа подій у застосунку Visual Basic .NET
259963 HOWTO: отримати ширини та висоти надходить Window. Open внутрішній браузер хоста Visual C++Щоб отримати додаткові відомості про керування WebBrowser, а також способи властивості а також події, що надає доступ, див. на таких веб-сайті Microsoft:
Браузер керування: Посилання на Visual Basic розробниківhttp://msdn2.microsoft.com/en-us/library/Aa752043.aspxЩоб отримати додаткові відомості про розробку рішення на веб інтерфейс для Microsoft Internet Explorer відвідайте такі веб-сайти Майкрософт:
http://msdn.microsoft.com/ie/ http://support.microsoft.com/iep