Penulis: tuenhai.com MSN: King#tuenhai.com
Pernyataan Hak Cipta: Anda dapat mencetak ulang sesuka hati. Saat mencetak ulang, pastikan untuk menunjukkan sumber asli artikel, informasi penulis dan pernyataan ini dalam bentuk hyperlink.
http://www.tuenhai.com/
Alat Pengembangan: Microsoft Visual Studio .NET 2003
Sistem Operasi: Windows XP
Teks Asli: http://www.devx.com/vb2themax/tip/18798
Seperti kontrol lainnya, kita dapat menggunakan kontrol webbrowser untuk membangun aplikasi Windows Form. Pilih grup kontrol Windows Form dari Toolbox, klik "Microsoft Web Browser", dan gunakan alat Aximp.exe di latar belakang untuk membuat kontrol ActiveX dengan nama "Axwebrowser". Di VB.NET, komponen COM tidak dapat digunakan secara langsung. com adalah semua kode yang tidak dikelola. Jika Anda menggunakan komponen -komponen ini di VB.NET, Anda harus menyelesaikan konversi dari kode yang tidak dikelola ke kode yang dikelola.
Secara umum, Anda dapat menggunakan kontrol webbrowser asli, seperti metode panggilan, menentukan properti, acara tangkapan, dll.
Beberapa hal tidak sesederhana itu. Kami ingin menangkap acara halaman, seperti ketika pengguna mengklik elemen halaman (seperti latar belakang), itu memicu acara OnClick dari elemen halaman. Jika acara tidak tertangkap, level DHTML harus ditingkatkan hingga level tertinggi dari objek dokumen. Dengan cara ini, kita dapat menangkap acara apa pun. Di VB6, kami dapat dengan mudah menentukan WebBrowser.Document ke mshtml.htmldocument dengan kata kunci Withevents.
Di VB.NET, metode sederhana ini tidak lagi berfungsi. Karena kontrol ActiveX membuat dua antarmuka, nama metode yang sama digunakan di kedua antarmuka, menghasilkan kesalahan runtime. Jadi, Anda harus menentukan antarmuka yang digunakan oleh objek dokumen dan membuat pegangan penanganan acara (hehe, tuenhai diterjemahkan dengan baik).
Ini kode sampelnya:
'Penting: Kode ini mengasumsikan bahwa Anda telah menambahkan referensi ke
'Microsoft HTML Object Library Type Library
Private Sub Form1_Load (pengirim byval sebagai System.Object, _
byval e sebagai system.eventargs) menangani mybase.load
axwebrowser1.navigate ("http: //localhost/default.asp")
akhir sub
Private sub axwebrowser1_navigateComplete2 (pengirim byval sebagai objek, _
byval e as axshdocvw.dwebbrowserevents2_navigateComplete2event) menangani _
AXWEBROWSER1.NAVIGATECECTETE2
'Harus menunggu acara ini untuk mengambil referensi yang valid ke dokumen
'Properti
Dim doc sebagai mshtml.htmldocument = directcast (axwebbrowser1.document, _
mshtml.htmldocument)
'Berikan ke antarmuka yang mendefinisikan acara yang Anda minati
DIM Dokumen sebagai mshtml.htmldocumentevents2_event = directcast (doc, _
mshtml.htmldocumentevents2_event)
'Tentukan pawang untuk acara OnClick
Addhandler Documents.onclick, alamat OnClickProc
akhir sub
'Perhatikan bahwa tanda tangan acara ini berbeda dari biasanya, seperti itu
'diharapkan mengembalikan boolean - jika false efek default terkait
'Dengan acara (misalnya, melompat ke halaman lain jika klik menyala
'Hyperlink) dibatalkan.
Fungsi Pribadi OnClickProc (Byval Obj sebagai mshtml.ihtmlleventoBj) sebagai boolean
'Objek pada halaman telah diklik - Anda dapat mempelajari lebih lanjut tentang
'Ketik dan posisi objek ini dengan menanyakan properti OBJ
'...
fungsi akhir
Catatan Penerjemah:
Ini adalah terjemahan pertama Tuenhai.
Pengalaman pribadi saya telah mendapat banyak manfaat dari bepergian di sekitar situs web desain program di luar negeri dalam beberapa hari terakhir. Saya juga memikirkan "belajar dari yang terbaik" dari pembelajaran kaligrafi. Cara menuju shareware terletak pada pergi secara internasional. Bukankah ini hal yang sama saat mempelajari desain perangkat lunak? Bagaimana sumber belajar internasional dibandingkan dengan sumber belajar domestik?
Bahasa Inggris sama sekali bukan hambatan. Tuenhai tidak percaya bahwa bahasa Inggrisnya akan lebih baik dari Anda. Dasar -dasar sekolah menengah pertama, ditambah Kingsoft Powerwords, sudah cukup.