Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

W TYM ZADANIU

Podsumowanie

Aplikacje programu Visual Basic .NET, obsługujące formant WebBrowser może obsłużyć zdarzenia Zdarzenianewwindow2 do połowu wywołania window.open , który jest generowany przez skrypt. Jednakże nie jest oczywiste jak aplikacji można uzyskać wartości Szerokość i wysokość, które są przekazywane do argumentu funkcjiwindow.open , tak aby WebBrowser host można zmienić rozmiar okna w prawidłowo. W tym artykule przedstawiono, jak uzyskać nową szerokość i wysokość formantu WebBrowser i jak zmienić odpowiednio rozmiar formularza.

Wymagania

Na następującej liście uwzględniono podstawowe składniki zalecanego i niezbędnego sprzętu, oprogramowania, infrastruktury sieciowej i dodatków Service Pack:

  • Program Microsoft Visual Studio .NET

  • Microsoft Internet Explorer 5.5 Service Pack 2 lub nowszy

Tworzenie próbki

W tej sekcji opisano, jak obsługiwać formantu WebBrowser w aplikacji Visual Basic .NET, sposób obsługi zdarzenia Zdarzenianewwindow2 formantu WebBrowser i sposób obsługi zdarzenia Zdarzeniawindowsetheight i WindowSetWidth Zmień rozmiar aplikacji.

  1. Tworzenie nowej aplikacji systemu Windows w języku Visual Basic w następujący sposób:

    1. Uruchom program Visual Studio .NET.

    2. W menu plik wskaż polecenie Nowy, a następnie kliknij Projekt.

    3. W obszarze Project Typeskliknij przycisk Projekty języka Visual Basic. W obszarze Szablonykliknij Aplikacji systemu Windows.

  2. W przyborniku kliknij kartę Ogólne, kliknij prawym przyciskiem myszy w przyborniku, a następnie kliknij Customize Toolbox.

  3. Na karcie Składniki modelu COM zaznacz pole wyboru Przeglądarka sieci Web firmy Microsoft , a następnie kliknij przycisk OK.

  4. W przyborniku kliknij dwukrotnie w oknie Eksploratora.

  5. Dodaj formant przycisku i formant pola tekstowego do formularza.

  6. Kliknij dwukrotnie przycisk, aby wyświetlić implementacji zdarzenia onClick przycisku w oknie kodu, a następnie dodaj następujący kod:

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

    Ten kod umożliwia przeglądanie do adresu URL określonego w polu tekstowym.

  7. Dodaj następujący kod, aby napisać funkcję obsługi dla Zdarzenianewwindow2:

        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. Dodaj następujący kod, aby napisać funkcję obsługi dla Zdarzeniawindowsetheight:

        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. Dodaj następujący kod, aby napisać funkcję obsługi dla 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

Pełny kod przykładowy

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

Sprawdź, czy działa

  1. Tworzenie aplikacji.

  2. Otwórz program Notatnik. Utwórz nowy plik o nazwie Test.htm, a następnie dodaj następujący kod:

    <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. Zapisz Test.htm na serwerze sieci Web.

  4. Uruchom aplikację.

  5. Przejdź na stronę Test.htm, a następnie kliknij przycisk. Należy zauważyć, że witryna sieci Web firmy Microsoft jest otwierany w nowe wystąpienie aplikacji. Według cech, które przeszły z wezwaniem do window.openrozmiarów formularza.

Informacje

Aby uzyskać dodatkowe informacje kliknij numery artykułów poniżej w celu wyświetlenia tych artykułów z bazy wiedzy Microsoft Knowledge Base:

311284 jak: obsłużyć zdarzenia dokumentu w aplikacji Visual Basic .NET

PORADNIKI 259963 : Uzyskaj szerokość i wysokość podana do Window.open wewnątrz hosta WebBrowser programu Visual C++Aby uzyskać więcej informacji o formancie WebBrowser, jak również metod właściwości i zdarzeń, które udostępnia go odnoszą się do następującej witryny firmy Microsoft w sieci Web:

Formantu WebBrowser: Odwołanie dla deweloperów Visual podstawowehttp://msdn2.microsoft.com/en-us/library/Aa752043.aspxAby uzyskać więcej informacji dotyczących projektowania rozwiązań opartych na sieci Web dla programu Microsoft Internet Explorer odwiedź następujące witryny firmy Microsoft w sieci Web:

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

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×