في هذه المهمة

الملخص

تطبيقات Visual Basic.NET التي تستضيف عنصر تحكم WebBrowser معالجة الحدث NewWindow2 لجذب استدعاء window.open الذي تم إنشاؤه بواسطة برنامج نصي. ومع ذلك، لم يكن واضحة مباشرة كيفية التطبيق الخاص بك يمكنك الحصول على قيم العرض والارتفاع التي يتم تمريرها إلى الوسيطة ميزاتwindow.open حيث أن المضيف WebBrowser حجم الإطار بشكل صحيح. توضح هذه المقالة كيفية الحصول على العرض الجديد وارتفاع عنصر التحكم WebBrowser وكيفية تغيير حجم النموذج وفقا لذلك.

المتطلبات

توضح القائمة التالية الأجهزة الموصى بها والبرامج والبنية الأساسية للشبكة وحزم الخدمات التي تحتاجها:

  • Microsoft Visual Studio.NET

  • Microsoft Internet Explorer 5.5 Service Pack 2 أو الأحدث

إنشاء نموذج

يصف هذا القسم كيفية استضافة عنصر التحكم WebBrowser في تطبيق Visual Basic.NET كيفية معالجة الحدث NewWindow2 عنصر التحكم WebBrowser ثم كيفية معالجة الأحداث ويندووسيثيتويندووسيتويدث تغيير حجم التطبيق الخاص بك.

  1. إنشاء تطبيق Windows جديد في Visual Basic كما يلي:

    1. بتشغيل Visual Studio.NET.

    2. من القائمة ملف، أشر إلى جديد ثم انقر فوق المشروع.

    3. ضمن أنواع المشروع، انقر فوق مشاريع Visual Basic. ضمن قوالب، انقر فوق تطبيق Windows.

  2. في مربع الأدوات، انقر فوق عام، انقر بالزر الأيمن في مربع الأدوات وثم انقر فوق تخصيص مربع الأدوات.

  3. ضمن علامة التبويب مكونات COM ، حدد خانة الاختيار مستعرض ويب Microsoft ومن ثم انقر فوق موافق.

  4. في مربع الأدوات، انقر نقراً مزدوجاً فوق في إطار "المستكشف".

  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. أضف التعليمات البرمجية التالية لكتابة دالة معالج ويندووسيثيت:

        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. أضف التعليمات البرمجية التالية لكتابة دالة معالج ويندووسيتويدث:

        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. حفظ الملف اختبار.htm على خادم الويب الخاص بك.

  4. قم بتشغيل التطبيق.

  5. استعرض للوصول إلى الصفحة Test.htm ومن ثم انقر فوق الزر. لاحظ أن يفتح موقع ويب شركة Microsoft في نسخة جديدة من التطبيق. يتم تغيير حجم النموذج وفقا للميزات التي قمت بتمريرها مع استدعاء window.open.

المراجع

لمزيد من المعلومات، انقر فوق أرقام المقالات التالية لعرضها في "قاعدة معارف Microsoft":

311284 كيفية: معالجة أحداث المستند في تطبيق Visual Basic.NET

259963 HOWTO: الحصول على عرض وارتفاع توفيره للداخل Window.open المضيف WebBrowser Visual c + +لمزيد من المعلومات حول عنصر التحكم WebBrowser، بالإضافة إلى الأساليب، الخصائص، والأحداث التي يعرضها، أرجع إلى موقع Microsoft التالي على الويب:

عنصر التحكم WebBrowser: مرجع ل مطوري Visual الأساسيةhttp://msdn2.microsoft.com/en-us/library/Aa752043.aspxلمزيد من المعلومات حول تطوير الحلول المستندة إلى ويب ل Microsoft Internet Explorer، قم بزيارة مواقع Microsoft التالية على الويب:

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

هل تحتاج إلى مزيد من المساعدة؟

توسيع المهارات
استكشاف التدريب
الحصول على الميزات الجديدة أولاً
الانضمام إلى Microsoft Insider

هل كانت المعلومات مفيدة؟

ما مدى رضاك عن جودة اللغة؟
ما الذي أثّر في تجربتك؟

نشكرك على ملاحظاتك!

×