كيفية القيام بما يلي: تنفيذ إجراءات متعددة على كائن

في Visual Basic يجب تحديد كائن عادةً في كل جملة تستدعي أحد الأساليب الخاصة به أو الوصول إلى خاصية واحدة من خصائصه. ومع ذلك، إذا كان لديك سلسلة من عبارات التي تعمل كلها على نفس الكائن, يمكنك استخدام بنية With... End With لتحديد الكائن مرة واحدة لكل العبارات. يمكن أن يجعل هذا إجراءاتك يعمل أسرع و يساعدك على تجنب الكتابة المتكررة.

مثال

المثال التالي تعيّن نمط خط واللون الأمامي من Label استناداً إلى لقيمة وسيطة الإجراء.

Imports draw = System.Drawing
' The preceding statement must appear at the beginning of the source file.
Dim alertLabel As New System.Windows.Forms.Label
Sub alertUser(ByVal value As Long)
    With alertLabel
        If value = 0 Then
            .ForeColor = draw.Color.Red
            .Font = New draw.Font(.Font, draw.FontStyle.Bold Or draw.FontStyle.Italic)
        Else
            .Forecolor = draw.Color.Black
            .Font = New draw.Font(.Font, draw.FontStyle.Regular)
        End If
    End With
End Sub

لاحظ استخدام عامل التشغيل or في (Visual Basic) إلى لتجمع أنماط خط. يحدد هذا التركيبة المطلوبة من إشارات البت. عامل التشغيل And في (Visual Basic) ينتج 0 لأن كل أعضاء قائمة التعداد FontStyle يستخدمون بت مختلف.

لاحظ أيضاً استخدام استيراد كشف (مساحة الاسم و نوع NET.)ل إنشاء اسم مستعار مستورد draw، الذي يجعل كل مرجع إلى System.Drawing الأعضاء أقصر وأسهل في القراءة.

يمكنك أيضاً تداخل عبارات With...End With عن طريق وضع أحد داخل آخر كما هو موضح في التعليمات البرمجية التالية:

Sub setupForm()
    Dim anotherForm As New System.Windows.Forms.Form
    Dim button1 As New System.Windows.Forms.Button
    With anotherForm
        .Show()
        .Top = 250
        .Left = 250
        .ForeColor = System.Drawing.Color.LightBlue
        .BackColor = System.Drawing.Color.DarkBlue
        .Controls.Add(button1)
        With .Controls.Item(1)
            .BackColor = System.Drawing.Color.Thistle
            .Text = "Text on button1"
        End With
    End With
End Sub

ضمن العبارة المتداخلة With على الرغم من ذلك، بناء الجملة يشير إلى الكائن المتداخل; خصائص الكائن في العبارة الخارجية With ليست معينة.

راجع أيضًا:

المهام

كيفية القيام بما يلي: نقل عنصر تحكم خارج بنية عنصر تحكم

كيفية القيام بما يلي: التخلص من موارد النظام

كيفية القيام بما يلي: تسريع الوصول إلى كائن مع مسار تأهيل طويل

المرجع

كشف مع... إنهاء مع (Visual Basic)

المبادئ

بنيات القرار

بنيات التكرار الحلقي

بنيات التحكم الأخرى

بنيات التحكم المتداخلة

موارد أخرى

عنصر تحكم التدفق في Visual Basic