Makale numarası: 311290 - Son Gözden Geçirme: 13 Mayıs 2007 Pazar - Gözden geçirme: 4.1

NASıL YAPıLıR: Genişlik ve Yükseklik window.open() bir WebBrowser Host iç'dan Visual Basic .NET kullanarak Al

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Özet

Komut dosyası tarafından oluşturulan bir window.open çağrı yakalamak üzere NewWindow2 olay kontrolün WebBrowser ana Visual Basic .NET uygulamalar. Ancak, uygulamanız WebBrowser ana pencereyi doğru şekilde yeniden boyutlandırabilirsiniz, window.open <a1>Özellikler</a1> bağımsız geçirilir genişlik ve yükseklik değerleri nasıl edinebileceğiniz hemen belirgin değildir. Bu makalede, yeni bir genişlik ve yüksekliğini WebBrowser nasıl edinileceği gösterilmektedir denetim ve nasıl yapılır: formunuza uygun biçimde yeniden boyutlandırın.

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'i
  • Microsoft ınternet Explorer 5.5 Service Pack 2 veya sonraki sürümü

Örnek oluşturma

Bu bölüm, WebBrowser denetimi bir <a0>Visual Basic .NET</a0> uygulamasında nasıl, nasıl NewWindow2 olayının WebBrowser denetimi ele ve alt düzey WindowSetWidth ve WindowSetHeight olayları uygulamanızı yeniden boyutlandırmak için nasıl açıklar.
  1. Yeni bir Windows uygulaması, Visual Basic'te aşağıdaki gibi oluşturursunuz:
    1. Visual Studio .NET'i başlatın.
    2. Dosya menüsünde Yeni ' nin üzerine gelin ve sonra Project ' i tıklatın.
    3. Project Types altında Visual Basic Projeleri) tıklatın. Şablonları altında Windows uygulaması) tıklatın.
  2. Araç, Genel ' i tıklatın, araç kutusunda sağ tıklatın ve sonra Toolbox ' ı tıklatın.
  3. COM bileşenleri sekmesinde <a0>Microsoft Web tarayıcısı</a0> onay kutusunu seçin ve Tamam ' ı tıklatın.
  4. Araç kutusunda, proje gezgininde çift pencere.
  5. Bir Düğme denetimi ve bir TextBox denetimi forma ekleyin.
  6. Düğmenin onClick olay uygulama 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özatmanıza olanak tanır.
  7. Işleyici işlevi için NewWindow2 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
    					
  8. Işleyici işlevi için WindowSetHeight 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
    					
  9. Işleyici işlevi için WindowSetWidth 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 bir 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 Sub

End Class
				

It Works That doğrulayın.

  1. Uygulamayı oluşturun.
  2. Not Defteri'nde açın. Test.htm adlı yeni bir dosya oluşturun ve 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>
    					
  3. Test.htm Web sunucunuzda kaydedin.
  4. Uygulamayı çalıştırın.
  5. Test.htm sayfasına gidin ve sonra düğmeyi tıklatın. Uygulamayı yeni bir örneğini kuruluş) Microsoft Web sitesini açar dikkat edin. Form için window.open yapılan çağrı ile geçirilen özellikleri göre yeniden boyutlandırılır.

Referanslar

Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
311284  (http://support.microsoft.com/kb/311284/EN-US/ ) Visual Basic .NET uygulaması içinde belge olayları NASıL YAPıLıR: Tanıtıcı
259963  (http://support.microsoft.com/kb/259963/EN-US/ ) Nasıl YAPıLıR: Genişlik elde edilir ve yüksekliği için window.Open Katla Visual C++ WebBrowser ana bilgisayarın sağladığı
WebBrowser denetimi yan? s?ra yöntemleri hakkında daha fazla bilgi için onu sunar, olayları ve özelliklerini aşağıdaki Microsoft Web sitesini başvurun:
WebBrowser denetimi: Visual Basic geliştiricileri başvurusu
http://msdn2.microsoft.com/en-us/library/Aa752043.aspx (http://msdn2.microsoft.com/en-us/library/Aa752043.aspx)
Microsoft ınternet 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://msdn.microsoft.com/ie/)

http://support.microsoft.com/iep (http://support.microsoft.com/iep)

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
Anahtar Kelimeler: 
kbmt kbhowtomaster KB311290 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:311290  (http://support.microsoft.com/kb/311290/en-us/ )