ผู้แต่ง: tuenhai.com msn: king#tuenhai.com
คำสั่งลิขสิทธิ์: คุณสามารถพิมพ์ซ้ำได้ตามต้องการ เมื่อพิมพ์ซ้ำโปรดระบุแหล่งที่มาดั้งเดิมของบทความข้อมูลผู้แต่งและคำสั่งนี้ในรูปแบบของการเชื่อมโยงหลายมิติ
http://www.tuenhai.com/
เครื่องมือพัฒนา: Microsoft Visual Studio .NET 2003
ระบบปฏิบัติการ: Windows XP
ข้อความต้นฉบับ: http://www.devx.com/vb2themax/tip/18798
เช่นเดียวกับการควบคุมอื่น ๆ เราสามารถใช้การควบคุม WebBrowser เพื่อสร้างแอปพลิเคชันแบบฟอร์ม Windows เลือกกลุ่มควบคุมแบบฟอร์ม Windows จากกล่องเครื่องมือคลิก "Microsoft Web Browser" และใช้เครื่องมือ Aximp.exe ในพื้นหลังเพื่อสร้างตัวควบคุม ActiveX ด้วยชื่อ "AxWebrowser" ใน vb.net ส่วนประกอบ COM ไม่สามารถใช้โดยตรง com เป็นรหัสที่ไม่มีการจัดการทั้งหมด หากคุณใช้ส่วนประกอบเหล่านี้ใน VB.NET คุณต้องทำการแปลงจากรหัสที่ไม่มีการจัดการเป็นรหัสที่มีการจัดการ
โดยทั่วไปคุณสามารถใช้ตัวควบคุม webBrowser ดั้งเดิมเช่นวิธีการโทรระบุคุณสมบัติการจับเหตุการณ์ ฯลฯ
บางสิ่งไม่ง่ายขนาดนั้น เราต้องการจับภาพเหตุการณ์หน้าเช่นเมื่อผู้ใช้คลิกที่องค์ประกอบหน้า (เช่นพื้นหลัง) มันจะกระตุ้นเหตุการณ์ onClick ขององค์ประกอบหน้า หากเหตุการณ์ไม่ถูกจับระดับ DHTML จะต้องได้รับการอัพเกรดจนกว่าจะถึงระดับสูงสุดของวัตถุเอกสาร ด้วยวิธีนี้เราสามารถจับเหตุการณ์ใด ๆ ใน VB6 เราสามารถระบุ webBrowser.Document เป็น mshtml.htmldocument ด้วยคำหลัก WithEvents
ใน vb.net วิธีง่าย ๆ นี้ไม่ทำงานอีกต่อไป เนื่องจากการควบคุม ActiveX สร้างสองอินเทอร์เฟซจึงใช้ชื่อวิธีเดียวกันในอินเทอร์เฟซทั้งสองส่งผลให้เกิดข้อผิดพลาดรันไทม์ ดังนั้นคุณต้องระบุอินเทอร์เฟซที่ใช้โดยวัตถุเอกสารและสร้างด้ามจับการจัดการเหตุการณ์ (hehe, tuenhai แปลเป็นอย่างดี)
นี่คือรหัสตัวอย่าง:
'สำคัญ: รหัสนี้ถือว่าคุณได้เพิ่มการอ้างอิงไปยังไฟล์
'ไลบรารีประเภท Object Object Microsoft HTML
Private Sub Form1_load (Byval Sender เป็น System.Object, _
byval e เป็น system.eventargs) จัดการ mybase.load
axwebrowser1.navigate ("http: //localhost/default.asp")
สิ้นสุดย่อย
Axwebrowser1_navigatecomplete2 (Byval Sender เป็น Object, _navigatecomplete2
byval e เป็น axshdocvw.dwebbrowserevents2_navigatecomplete2Event) จัดการ _
axwebrowser1.navigatecomplete2
'ต้องรอให้กิจกรรมนี้คว้าการอ้างอิงที่ถูกต้องไปยังเอกสาร
' คุณสมบัติ
Dim Doc เป็น mshtml.htmldocument = DirectCast (AxwebBrowser1.Document, _
mshtml.htmldocument)
'ส่งไปยังอินเทอร์เฟซที่กำหนดเหตุการณ์ที่คุณสนใจ
Dim Documents เป็น mshtml.htmldocumentevents2_event = directcast (doc, _
mshtml.htmldocumentevents2_event)
'กำหนดตัวจัดการกับเหตุการณ์ onclick
AddHandler documents.onclick, ที่อยู่ของ onclickproc
สิ้นสุดย่อย
'สังเกตว่าลายเซ็นของเหตุการณ์นี้แตกต่างจากปกติเช่นเดียวกับมัน
'คาดว่าจะส่งคืนบูลีน - หากเท็จเอฟเฟกต์เริ่มต้นที่เกี่ยวข้อง
'ด้วยเหตุการณ์ (ตัวอย่างเช่นกระโดดไปยังหน้าอื่นหากการคลิกเปิดอยู่
'ไฮเปอร์ลิงก์) ถูกยกเลิก
ฟังก์ชั่นส่วนตัว onclickproc (byval obj เป็น mshtml.ihtmlleventobj) เป็นบูลีน
'วัตถุในหน้าถูกคลิก - คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ
'พิมพ์และตำแหน่งของวัตถุนี้โดยการสอบถามคุณสมบัติของ OBJ
-
ฟังก์ชันสิ้นสุด
หมายเหตุของนักแปล:
นี่คือการแปลครั้งแรกของ Tuenhai
ประสบการณ์ส่วนตัวของฉันได้รับประโยชน์มากมายจากการเดินทางไปรอบ ๆ เว็บไซต์ออกแบบโปรแกรมในต่างประเทศในช่วงไม่กี่วันที่ผ่านมา ฉันยังนึกถึง "การเรียนรู้จากสิ่งที่ดีที่สุด" ของการเรียนรู้การประดิษฐ์ตัวอักษร วิธีการแชร์แวร์อยู่ในระดับสากล นี่ไม่ใช่สิ่งเดียวกันเมื่อเรียนรู้การออกแบบซอฟต์แวร์หรือไม่ ทรัพยากรการเรียนรู้ระหว่างประเทศเปรียบเทียบกับแหล่งข้อมูลการเรียนรู้ในประเทศอย่างไร
ภาษาอังกฤษไม่ได้เป็นอุปสรรค Tuenhai ไม่เชื่อว่าภาษาอังกฤษของเขาจะดีกว่าคุณ พื้นฐานของโรงเรียนมัธยมต้นรวมถึง Kingsoft Powerwords ก็เพียงพอแล้ว