المؤلف: 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 Control لإنشاء تطبيقات نموذج Windows. حدد مجموعة التحكم في نموذج Windows من مربع الأدوات ، انقر فوق "Microsoft Web Browser" ، واستخدم أداة Aximp.exe في الخلفية لإنشاء عنصر تحكم ActiveX باسم "Axwebrowser". في VB.NET ، لا يمكن استخدام مكونات COM مباشرة. كوم كلها رموز غير مُدارة. إذا كنت تستخدم هذه المكونات في VB.NET ، فيجب عليك إكمال التحويل من الكود غير المدير إلى التعليمات البرمجية المدارة.
بشكل عام ، يمكنك استخدام التحكم الأصلي لـ WebBrowser ، مثل طريقة الاتصال ، وتحديد الخصائص ، وأحداث الصيد ، إلخ.
بعض الأشياء ليست بهذه البساطة. نريد التقاط أحداث الصفحة ، مثل عندما ينقر المستخدم على عنصر صفحة (مثل الخلفية) ، فإنه يؤدي إلى حدوث حدث onclick لعنصر الصفحة. إذا لم يتم القبض على الحدث ، فيجب ترقية مستوى DHTML حتى أعلى مستوى من كائن المستند. بهذه الطريقة ، يمكننا التقاط أي حدث. في VB6 ، يمكننا ببساطة تحديد webbrowser.document إلى mshtml.htmldocument مع الكلمة الأساسية withevents.
في VB.NET ، لم تعد هذه الطريقة البسيطة تعمل. نظرًا لأن عنصر التحكم ActiveX ينشئ واجهتين ، يتم استخدام نفس اسم الطريقة في كلا الواجهات ، مما يؤدي إلى خطأ في وقت التشغيل. لذلك ، يجب عليك تحديد الواجهة المستخدمة من قبل كائن المستند وإنشاء مقبض معالجة الأحداث (Hehe ، تتم ترجمة Tuenhai بشكل جيد).
هنا هو رمز العينة:
مهم: يفترض هذا الرمز أنك أضفت إشارة إلى
"مكتبة مكتبة كائن Microsoft HTML
sub form1_load (مرسل Byval كـ system.object ، _
byval e as system.eventargs) يتولى mybase.load
Axwebrowser1.Navitee ("http: //localhost/default.asp")
نهاية الفرعية
Sub Axwebrowser1_navigateComplete2 (مرسل Byval ككائن ، _
byval e as axshdocvw.dwebbrowserevents2_navigatecomplete2event) مقابض _
Axwebrowser1.NavigateComplete2
يجب أن تنتظر هذا الحدث للاستيلاء على إشارة صالحة إلى المستند
' ملكية
DIM DOC مثل mshtml.htmldocument = directcast (axwebbrowser1.document ، _
mshtml.htmldocument)
'يلقي في الواجهة التي تحدد الحدث الذي تهتم به
المستندات dim مثل mshtml.htmldocumentevents2_event = directcast (doc ، _
mshtml.htmldocumentevents2_event)
حدد معالجًا لحدث Onclick
مستندات addHandler.onclick ، addressof onClickProc
نهاية الفرعية
لاحظ أن توقيع هذا الحدث يختلف عن المعتاد ، كما هو
من المتوقع أن يعيد منطقية - إذا كان التأثير الافتراضي المرتبط
مع الحدث (على سبيل المثال ، القفز إلى صفحة أخرى إذا كانت النقر على
"ارتباط تشعبي) تم إلغاؤه.
وظيفة خاصة OnClickProc (Byval OBJ مثل MSHTML.IHTMLLEVENTOBJ) كـ BOOLEAN
تم النقر على كائن على الصفحة - يمكنك معرفة المزيد عنها
'اكتب وموضع هذا الكائن عن طريق الاستعلام عن خصائص OBJ
'...
وظيفة نهاية
ملاحظة المترجم:
هذه هي ترجمة Tuenhai الأولى.
استفادت تجربتي الشخصية كثيرًا من السفر حول مواقع تصميم البرنامج في الخارج في الأيام الأخيرة. لقد فكرت أيضًا في "التعلم من أفضل" تعلم الخط. تكمن الطريق إلى المشاركة في الذهاب دوليًا. أليس هذا هو نفس الشيء عند تعلم تصميم البرامج؟ كيف تقارن موارد التعلم الدولية بموارد التعلم المحلي؟
اللغة الإنجليزية ليست عقبة بأي حال من الأحوال. Tuenhai لا يعتقد أن لغته الإنجليزية ستكون أفضل منك. أساسيات مدرسة جونيور الثانوية ، بالإضافة إلى Kingsoft Powerwords ، إنها كافية.