U OVAJ ZADATAK
Sažetak
Visual Basic .NET aplikacijama koje je domaćin kontrole web-preglednika možete rukovati događaj NewWindow2 kako biste privukli window.open poziv koji je generirao skripte. Međutim, nije odmah očite kako aplikaciju možete nabaviti širinu i visinu vrijednosti koji se prosljeđuju značajke argument window.open tako da glavno računalo web-preglednika možete promijeniti ispravno veličinu prozora. Ovaj članak prikazuje kako nabaviti nove širine i visine kontrole web-preglednika i kako promijeniti veličinu obrasca sukladno tome.
Preduvjeti
Sljedeći popis ukratko opisuje Preporučeni hardver, softver, mrežna Infrastruktura i servisne pakete koji trebate:
-
Microsoft Visual Studio .NET
-
Microsoft Internet Explorer 5.5 Service Pack 2 ili noviji
Stvaranje uzorka
Ovaj odjeljak opisuje kako domaćin kontrole web-preglednika u aplikaciji Visual Basic .NET, kako će rukovati NewWindow2 događaja kontrole web-preglednika i zatim kako rukovati WindowSetWidth i WindowSetHeight događaja Promjena veličine aplikacije.
-
Stvaranje nove aplikacije Windows u programu Visual Basic kako slijedi:
-
Pokreni Visual Studio .NET.
-
Na izborniku datoteka pokažite na Novo, a zatim projekta.
-
Pod Vrste projekta, kliknite Visual Basic projektima. Pod predloške, kliknite Windows aplikacije.
-
-
U alatnom okviru kliknite Općenito, desnom tipkom miša kliknite u alatnom okviru, a zatim Prilagoditi alatnog okvira.
-
Na kartici COM komponenteMicrosoft web-preglednik potvrdite okvir, a zatim u redu.
-
U alatnom okviru dvokliknite prozor programa Explorer.
-
Dodavanje kontrola gumb i tekstni okvir kontrole obrasca.
-
Dvokliknite gumb da biste pogledali implementaciju događaja onClick gumb u prozoru koda, a zatim dodajte sljedeć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
Ovu šifru omogućuje pregledavanje na URL koji navedete u tekstni okvir.
-
Dodajte sljedeći kôd za pisanje funkcija rukovatelj 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 sljedeći kôd za pisanje funkcija rukovatelj 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 sljedeći kôd za pisanje funkcija rukovatelj 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
Provjerite radi li
-
Sastavljanje aplikacije.
-
Otvorite Notepad. Stvorite novu datoteku Test.htm pod nazivom, a zatim dodajte sljedeć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>
-
Spremite Test.htm na web-poslužitelju.
-
Izvođenje aplikacije.
-
Pregledaj Test.htm stranice, a zatim kliknite gumb. Primijetite Microsoft tvrtke Web-mjesta otvara u novoj instanci aplikacije. Obrazac je veličina prema značajke koje prosljeđuju s poziv za window.open.
Reference
Za dodatne informacije kliknite u člancima u Microsoftovoj bazi znanja pod sljedećim brojevima:
311284 kako: obraditi događaje dokumenta u aplikaciji Visual Basic .NET
259963 NEMODERIRANA: nabavite širinu i visinu dostavljen Window.open unutar glavnog računala za Visual C++ web-preglednikaDodatne informacije o kontrole web-preglednika, kao i metode svojstva i događaje izlaže, pogledajte na sljedećem Microsoftovu Web-mjestu:
Kontrola web-preglednika: Referenca za Visual Basic programerihttp://msdn2.microsoft.com/en-us/library/Aa752043.aspxDodatne informacije o razvoju Web-rješenja za Microsoft Internet Explorer, posjetite sljedeća Microsoftova Web-mjesta:
http://msdn.microsoft.com/ie/ http://support.microsoft.com/iep