BU GÖREVDE
Özet
WebBrowser denetimi barındıran Visual Basic .NET uygulamalar, komut dosyası tarafından oluşturulan bir window.open çağrısı yakalamak için NewWindow2 olayı işleyebilirsiniz. Ancak, bunu nasıl uygulamanız WebBrowser ana pencerenin doğru boyutunu değiştirebilirsiniz, böylece bu window.openÖzellikler bağımsız değişken geçirildi genişlik ve yükseklik değerlerini elde edebilirsiniz hemen belirgin değildir. Bu makale yeni genişliğini ve yüksekliğini WebBrowser denetimi elde etme ve buna bağlı olarak, formu yeniden boyutlandırmak nasıl gösterir.
Gereksinimler
Aşağıdaki listede, gereksinim duyacağınız donanım, yazılım, ağ altyapısı ve hizmet paketleri önerilmektedir:
-
Microsoft Visual Studio .NET
-
Microsoft Internet Explorer 5.5 Service Pack 2 veya sonraki sürümü
Örnek oluşturma
Bu bölümde bir Visual Basic .NET uygulaması WebBrowser denetiminin nasıl barındırılacağını, WebBrowser denetimi NewWindow2 olayını işlemek nasıl ve WindowSetWidth ve WindowSetHeight olayları nasıl ele alınacağını açıklar. uygulamanızı yeniden boyutlandırın.
-
Yeni bir Windows uygulaması Visual Basic'te aşağıdaki gibi oluşturun:
-
Visual Studio .NET'i başlatın.
-
Dosya menüsünde Yeni' nin üzerine ve sonra Proje'yitıklatın.
-
Proje Türlerialtında Visual Basic Projeleri'ni tıklatın. Şablonlaraltında Windows Application' ı tıklatın.
-
-
Araç kutusunda Genel' i tıklatın, araç kutusunda sağ tıklatın ve Customize Toolbox' ı tıklatın.
-
COM bileşenleri sekmesinde Microsoft Web tarayıcısı onay kutusunu seçin ve Tamam' ı tıklatın.
-
Araç kutusunda, Explorer penceresinde çift tıklatın.
-
Formunuza bir Düğme ve bir TextBox denetimi ekleyin.
-
Düğmenin onClick Olay uygulaması kod penceresinde görüntülemek için düğmeyi çift tıklatın ve sonra aşağıdaki kodu ekleyin:
Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click AxWebBrowser1.Navigate(TextBox1.Text) End Sub
Bu kod, metin kutusunda belirttiğiniz URL'ye göz atmanızı sağlar.
-
NewWindow2için bir işleyici işlevi yazmak için aşağıdaki kodu ekleyin:
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
-
WindowSetHeightiçin bir işleyici işlevi yazmak için aşağıdaki kodu ekleyin:
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
-
WindowSetWidthiçin bir işleyici işlevi yazmak için aşağıdaki kodu ekleyin:
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
Tam kod örneği
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
Düzgün çalıştığını doğrulayın
-
Uygulamayı oluşturun.
-
Not Defteri'ni açın. Test.htm adlı yeni bir dosya oluşturun ve sonra aşağıdaki kodu ekleyin:
<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>
-
Web sunucunuzda test.htm kaydedin.
-
Uygulamayı çalıştırın.
-
Test.htm sayfasına gidin ve sonra düğmesini tıklatın. Microsoft Kurumsal Web sitesi yeni bir uygulama örneği açılır dikkat edin. Form window.opençağrısı ile geçirilen özellikleri göre boyutlandırılır.
Başvurular
Ek bilgi için Microsoft Bilgi Bankası'ndaki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
311284 nasıl yapılır: Visual Basic .NET uygulamasında belge olaylarını işlemek
259963 nasıl yapılır: genişliği elde etmek ve yükseklik sağlanan Window.open içten Visual C++ WebBrowser anaWebBrowser denetimi gibi yöntemleri hakkında daha fazla bilgi için özellikler ve olaylar ortaya çıkaran, aşağıdaki Microsoft Web sitesine başvurun:
WebBrowser denetimi: Başvuruhttp://msdn2.microsoft.com/en-us/library/Aa752043.aspx Visual Basic geliştiricileri içinMicrosoft Internet Explorer için Web tabanlı çözümler geliştirme hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitelerini ziyaret edin:
http://msdn.microsoft.com/ie/ http://support.microsoft.com/iep