U OVOM ZADATKU
Rezime
Visual Basic .NET aplikacija koje domaćin WebBrowser kontrole mogu da podnesem NewWindow2 događaj da uhvatim window.open poziv koji je generisao scenario. Međutim, nije odmah jasno kako vaša aplikacija možete da dobijete širinu i visinu vrednosti koje se prosleđuju argument funkcijewindow.open , tako da domaćin WebBrowser možete da promenite veličinu prozora ispravno. Ovaj članak pokazuje kako možete da nabavite novu širinu i visinu WebBrowser kontrole i kako da promenite veličinu vašeg obrasca u skladu s tim.
Zahtevi
Sledeća lista opisuje preporučene hardver, softver, mrežne infrastrukture i servisni paketi koje su vam potrebne:
-
Microsoft Visual Studio .NET
-
Microsoft Internet Explorer 5.5 servisni paket 2 ili noviji
Kreiranje uzorka
Ovaj odeljak opisuje kako da bude domaćin WebBrowser kontrole u aplikaciji Visual Basic .NET, kako postupati sa NewWindow2 događaj WebBrowser kontrole i onda kako postupati sa WindowSetWidth i WindowSetHeight manifestacija veličinu tvoju prijavu.
-
Kreiranje nove Windows aplikacije u programu Visual Basic, na sledeći način:
-
Pokretanje Visual Studio .NET.
-
U meniju datoteka postavite pokazivač na nju, a zatim izaberite stavku projekat.
-
U okviru Tipovi projekataizaberite stavku Visual Basic projekti. Pod Predlošci, kliknite na Windows aplikacije.
-
-
U okviru sa alatkama, izaberite karticu Opšte postavke, kliknite desnim tasterom miša u okviru sa alatkama i zatim kliknite na dugme Prilagodi za alat.
-
Na kartici COM komponente , potvrdite okvir Microsoft Web pregledač , a onda kliknite na OK.
-
U okviru sa alatkama, dvaput kliknite na ikonu u prozoru programa Explorer.
-
Dodajte kontrolu dugmeta i kontrole okvira za tekst u obrazac.
-
Dvaput kliknite na dugme da biste implementaciju onClick događaj od dugmeta u prozoru koda, a zatim dodajte sledeći kod:
Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click AxWebBrowser1.Navigate(TextBox1.Text) End Sub
Ova šifra vam omogućava da pregledate da URL adresu koju ste naveli u okviru za tekst.
-
Dodajte sledeći kôd za pisanje handler funkcija za 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
-
Dodajte sledeći kôd za pisanje handler funkcija za 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
-
Dodajte sledeći kôd za pisanje handler funkcija za 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
Dovršite uzorak koda
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
Proverite da li to funkcioniše
-
Napravi aplikaciju.
-
Otvorite Notepad. Kreirajte novu datoteku sa imenom Test.htm, a zatim dodajte sledeći 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>
-
Sačuvaj Test.htm na vašem Web serveru.
-
Pokreni aplikaciju.
-
Pronađite Test.htm stranicu, a zatim kliknite na dugme. Obratite pažnju da je korporativna Web lokacije Microsoft otvara u novoj instanci aplikacije. Obrazac se menja veličina prema funkcija koje si prošao sa poziv na window.open.
Reference
Za dodatne informacije, kliknite na sledeće brojeve članaka da biste videli članak u Microsoft bazi znanja:
311284 kako da: upravljanje događajima dokument u aplikaciji Visual Basic .NET
Kako da 259963 : nabavite širina i visina je isporučio Window.open unutrašnje Visual C++ WebBrowser domaćinZa više informacija o WebBrowser kontrole, kao i metode, svojstva, kao i događaji koji ga izlaže, da se odnosi na sledeću Microsoft Web lokaciju:
WebBrowser kontrola: Referenca za programere Visual Basichttp://msdn2.microsoft.com/en-us/library/Aa752043.aspxViše informacija o razvoju Web rešenja za Microsoft Internet Explorer, potražite na sljedećim Microsoftovim Web-mjestima:
http://msdn.microsoft.com/ie/ http://support.microsoft.com/iep