Applies ToVisual Basic 2010 Express

ในกรณีนี้

สรุป

โปรแกรมประยุกต์ Visual Basic .NET ที่โฮสต์การควบคุมเว็บเบราว์เซอร์สามารถจัดการเหตุการณ์NewWindow2สามารถตรวจจับการเรียกwindow.openที่สร้างขึ้น โดยสคริปต์ อย่างไรก็ตาม ไม่ชัดเจนทันทีแอพลิเคชันของคุณจะได้ค่าความกว้างและความสูงที่จะถูกส่งผ่านอาร์กิวเมนต์คุณลักษณะของwindow.openเพื่อให้โฮสต์เว็บเบราว์เซอร์สามารถปรับขนาดหน้าต่างได้อย่างถูกต้อง บทความนี้สาธิตวิธีการขอรับใหม่ความกว้างและความสูงของตัวควบคุมเว็บเบราว์เซอร์และวิธีการปรับขนาดของฟอร์มของคุณให้สอดคล้องกัน

ข้อกำหนด

รายการต่อไปนี้สรุปฮาร์ดแวร์ ซอฟต์แวร์ โครงสร้างเครือข่าย และ Service Pack ที่แนะนำให้คุณต้องมี:

  • Microsoft Visual Studio .NET

  • Microsoft Internet Explorer 5.5 Service Pack 2 หรือรุ่นที่ใหม่กว่า

สร้างตัวอย่าง

ส่วนนี้อธิบายวิธีการโฮสต์ตัวควบคุมเว็บเบราว์เซอร์ในโปรแกรมประยุกต์ Visual Basic .NET วิธีการจัดการกับเหตุการณ์NewWindow2ของตัวควบคุมเว็บเบราว์เซอร์ และวิธีการจัดการกับWindowSetWidthและเหตุการณ์WindowSetHeight ปรับขนาดของโปรแกรมประยุกต์ของคุณ

  1. สร้างโปรแกรมประยุกต์ Windows ใหม่ใน Visual Basic ดังนี้:

    1. เริ่ม Visual Studio .NET

    2. บนเมนูแฟ้มชี้ไปที่สร้างแล้ว คลิ กโครงการ

    3. ภายใต้ชนิดโครงการคลิกโครงการ Visual Basic ภายใต้แม่แบบคลิกแอพลิเคชันของ Windows

  2. ในกล่องเครื่องมือ คลิกทั่วไปคลิกขวาในกล่องเครื่องมือ แล้ว คลิ กเครื่องมือที่กำหนดเอง

  3. บนแท็บคอมโพเนนต์ COMเลือกกล่องกาเครื่องหมายMicrosoft เว็บเบราว์เซอร์และจากนั้น คลิกตกลง

  4. ในกล่องเครื่องมือ คลิกสองครั้งในหน้าต่าง Explorer

  5. เพิ่มตัวควบคุมปุ่มและตัวควบคุมกล่องข้อความลงในฟอร์มของคุณ

  6. คลิกสองครั้งปุ่มเพื่อดูการใช้งานเหตุการณ์onClickของปุ่มในหน้าต่างรหัส จากนั้น ให้เพิ่มรหัสต่อไปนี้:

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

    รหัสนี้ช่วยให้คุณสามารถเรียกดูไปยัง URL ที่คุณระบุในกล่องข้อความ

  7. เพิ่มรหัสต่อไปนี้ในการเขียนฟังก์ชันตัวจัดการสำหรับ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
  8. เพิ่มรหัสต่อไปนี้ในการเขียนฟังก์ชันตัวจัดการสำหรับ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
  9. เพิ่มรหัสต่อไปนี้ในการเขียนฟังก์ชันตัวจัดการสำหรับ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

ตัวอย่างรหัสเสร็จสมบูรณ์

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

ตรวจสอบว่า โปรแกรมทำ

  1. สร้างแอพลิเคชัน

  2. เปิดแผ่นจดบันทึก สร้างแฟ้มใหม่ที่มีชื่อว่า Test.htm จากนั้น ให้เพิ่มรหัสต่อไปนี้:

    <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 บนเว็บเซิร์ฟเวอร์ของคุณ

  4. เรียกใช้แอพลิเคชัน

  5. เรียกดูไปยังเพ Test.htm และจากนั้น คลิกปุ่ม ขอให้สังเกตว่าบริษัทเว็บไซต์ของ Microsoft ที่เปิดในอินสแตนซ์ใหม่ของแอพลิเคชัน แบบฟอร์มถูกปรับขนาดตามลักษณะการทำงานที่คุณส่งผ่าน ด้วยการเรียกไปยังwindow.open

อ้างอิง

สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

311284วิธีการ: จัดการเหตุการณ์ของเอกสารในโปรแกรมประยุกต์ Visual Basic .NET

259963 HOWTO: การขอรับความกว้าง และความสูงให้ Window.open ในโฮสต์ของเว็บเบราว์เซอร์ Visual C++สำหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวควบคุมเว็บเบราว์เซอร์ ตลอดจนวิธีการ คุณสมบัติ และเหตุการณ์ต่าง ๆ ที่คุณแส อ้างถึงเว็บไซต์ต่อไปนี้ของ Microsoft:

ตัวควบคุมเว็บเบราว์เซอร์: การอ้างอิงสำหรับนักพัฒนาพื้นฐาน Visualhttp://msdn2.microsoft.com/en-us/library/Aa752043.aspxสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการพัฒนาเว็บโซลูชันสำหรับ Microsoft Internet Explorer แวะไปเว็บไซต์ต่อไปนี้ของ Microsoft:

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

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย