انقر فوق زر لتنفيذ الإجراء
أسهل طريقة للمستخدمين للتفاعل مع تطبيقك هي تزويدهم بزر. يمكنك استخدام عنصر التحكم CommandButton الذي يوفره Visual Basic، أو استخدام عنصر تحكم الصورة الذي يحتوي على رسومات، مثل رمز، لإنشاء "الزر" الخاص بك.
باستخدام زر الأوامر
تحتوي معظم تطبيقات Visual Basic على أزرار الأوامر التي تتيح للمستخدمين تنفيذ الإجراءات بمجرد النقر على الزر. عندما يحدد المستخدم زرًا، لا يحدث الإجراء فحسب، بل يبدو أنه تم الضغط على الزر ثم تحريره. عندما يقوم المستخدم بالنقر فوق الزر، يتم استدعاء إجراء حدث النقر. اكتب التعليمات البرمجية في إجراء حدث النقر لتنفيذ الإجراء المطلوب.
هناك عدة طرق لاختيار CommandButton أثناء تنفيذ البرنامج:
انقر فوق الزر بالماوس.
اضغط على المفتاح TAB لنقل التركيز إلى الزر المقابل، ثم اضغط على مفتاح المسافة أو مفتاح ENTER لتحديد الزر. راجع "نظرة عامة على التركيز" لاحقًا في هذا الفصل.
اضغط على مفتاح الاختصار CommandButton (الحرف المسطر ALT).
قم بتعيين خاصية قيمة CommandButton إلى True في التعليمات البرمجية. cmdClose.Value=صحيح
استدعاء الحدث Click CommandButton الخاص في التعليمات البرمجية. cmdClose_Click
إذا كان CommandButton هو زر الأمر الافتراضي للنموذج، حتى لو تم نقل التركيز إلى عناصر التحكم الأخرى التي ليست CommandButton، فإن الضغط على المفتاح Enter سيحدد الزر. في وقت التصميم، حدد زرًا كزر CommandButton الافتراضي للنموذج عن طريق تعيين الخاصية الافتراضية الخاصة به إلى True.
إذا كان CommandButton هو زر الإلغاء الافتراضي للنموذج، حتى إذا تم نقل التركيز إلى عناصر تحكم أخرى، فيمكن تحديد الزر بالضغط على المفتاح ESC. في وقت التصميم، حدد زرًا كزر الإلغاء الافتراضي عن طريق تعيين الخاصية Cancel الخاصة به إلى True. تؤدي كافة هذه العمليات إلى قيام Visual Basic باستدعاء إجراء الحدث Click.
تطبيق "زر الاختبار".
استخدم سمة التسمية التوضيحية لعرض النص على الزر لإخبار المستخدم بما يفعله الزر. في الشكل 3.4، يحتوي مثال زر الاختبار في تطبيق نموذج التحكم على CommandButton مع خاصية Caption الخاصة بـ ChangeSignal (يعمل هذا المثال مع Buttons.frm في تطبيق نموذج Controls.vbp).
لاحظ أن S هو مفتاح الاختصار لهذا الزر، ويمثله خط تسطير. سيؤدي إدراج رمز (&) في نص سمة التسمية التوضيحية إلى جعل الأحرف التي تتبع هذا الرمز هي مفتاح الاختصار للزر (على سبيل المثال، التغيير والإشارة).
عندما يقوم المستخدم بالنقر فوق CommandButton، سيتم تنفيذ التعليمات البرمجية الموجودة في عملية حدث Click الخاصة بـ CommandButton. في هذا المثال، في كل مرة يتم النقر فوق الزر، فإنه سيتغير إلى رمز إشارة مرور مختلف.
لمزيد من المعلومات حول خصائص CommandButton، راجع الفصل 7، "استخدام عناصر التحكم القياسية الخاصة بـ Visual Basic."
ضوابط لعرض وإدخال النص
تُستخدم عناصر التحكم في التسمية ومربع النص لعرض النص وإدخاله. استخدم تسمية عندما يعرض التطبيق نصًا في نموذج، ومربع نص عندما يسمح للمستخدم بإدخال نص. النص الموجود في Labels هو نص للقراءة فقط، بينما النص الموجود في TextBox هو نص قابل للتحرير.
النص الذي يمكن للمستخدم تحريره، مثل TextBox للإدخال المتسلسل
الحقل أو مربع كلمة المرور
النص الذي يمكن عرضه فقط، مثل تحديد تسمية في نموذج
الحقول أو عرض التعليمات للمستخدم
تتم مناقشة التسميات ومربعات النص في الأقسام التالية:
عرض النص باستخدام التسميات (vbconUsingLabels) المعرفة الأساسية لاستخدام عناصر التحكم في التسمية.
أساسيات العمل مع TextBox باستخدام TextBox (vbconWorkingWithTextBox).
عرض النص مع التسمية
لا يمكن للمستخدم تعديل النص المعروض بواسطة عنصر تحكم التسمية مباشرة. يمكن تعريف عناصر التحكم مثل TextBox وScrollBar التي لا تحتوي على خاصية التسمية التوضيحية الخاصة بها باستخدام التسمية. يتم التحكم في النص المعروض فعليًا في التسمية من خلال خاصية التسمية التوضيحية، والتي يمكن تعيينها في نافذة "الخصائص" في وقت التصميم أو تعيينها باستخدام التعليمات البرمجية في وقت التشغيل.
بشكل افتراضي، العنوان هو الجزء الوحيد المرئي من عنصر تحكم التسمية. ومع ذلك، إذا قمت بتعيين خاصية BorderStyle إلى 1 (وهو ما يمكن القيام به في وقت التصميم)، فسيكون للتسمية حدود وستبدو مثل TextBox. يمكنك أيضًا تغيير مظهر التسمية عن طريق تعيين خصائص BackColor وBackStyle وForeColor والخط الخاصة بالملصق.
تغيير حجم الملصق ليناسب محتواه
يمكنك تحديد عنوان تسمية من سطر واحد في نافذة "الخصائص" أثناء التصميم. ولكن ماذا لو كنت تريد إدخال عنوان أطول أو عنوان قد يتغير في وقت التشغيل؟ توفر التسمية خاصيتين: AutoSize وWordWrap لمساعدتك على تغيير حجم عنصر التحكم ليناسب عنوانًا أطول أو أقصر.
تحدد الخاصية AutoSize ما إذا كان عنصر التحكم يتغير حجمه تلقائيًا ليناسب محتواه. إذا تم ضبط هذه الخاصية على True، فسوف تتغير التسمية أفقيًا وفقًا لمحتواها، كما هو موضح في الشكل 3.5.
تتسبب الخاصية WordWrap في تغيير التسمية رأسيًا وفقًا لمحتواها مع الحفاظ على عرضها دون تغيير، كما هو موضح في الشكل 3.6. للحصول على نسخة صالحة للعمل من هذا المثال، راجع WordWrap.frm في مثال التطبيق Controls.vbp.
لاحظ أنه إذا قمت بتشغيل مثال AutoSize في Controls.vbp، فستجد أنه يجب تحديد كلا خانتي الاختيار لاستخدام WordWrap في نفس الوقت. وذلك لأنه لكي تعمل خاصية WordWrap الخاصة بالتسمية، يجب عليك تعيين الحجم التلقائي إلى True. سيزداد عرض التسمية فقط إذا تجاوز عرض كلمة واحدة العرض الحالي لعنصر التحكم.
لمزيد من المعلومات حول خصائص عنصر تحكم التسمية، راجع الفصل 7، "استخدام عناصر التحكم القياسية الخاصة بـ Visual Basic."
استخدام مربعات النص
TextBox هو عنصر تحكم للأغراض العامة يمكنه إدخال النص من قبل المستخدم أو عرض النص. ما لم يتم تعيين الخاصية Locked الخاصة بـ TextBox إلى True، فلن تتمكن من استخدام TextBox لعرض النص الذي لا تريد أن يقوم المستخدم بتغييره.
يتم التحكم في النص الفعلي المعروض في TextBox بواسطة خاصية النص. يمكن تعيين خاصية النص بثلاث طرق: في نافذة الخصائص في وقت التصميم، أو من خلال التعليمات البرمجية في وقت التشغيل، أو عن طريق إدخال المستخدم في وقت التشغيل. يمكن استرداد المحتويات الحالية لـ TextBox في وقت التشغيل عن طريق قراءة خاصية النص.
مربع نص متعدد الأسطر وWordWrap
يعرض TextBox سطرًا واحدًا فقط من النص بشكل افتراضي ولا يعرض ScrollBar. إذا كان النص أطول من المساحة المتوفرة، فسيتم عرض جزء فقط من النص. من خلال تعيين خصائص MultiLine وScrollBars (والتي يمكن تعيينها فقط عند تصميم البرنامج)، يمكنك تغيير مظهر وسلوك مربع النص.
يجب الحرص على عدم الخلط بين الخاصية ScrollBars وعنصر التحكم ScrollBar. لا ينتمي عنصر التحكم ScrollBar إلى TextBox ويحتوي على مجموعة الخصائص الخاصة به.
يؤدي تعيين خاصية MultiLine إلى True إلى السماح لـ TextBox بقبول أسطر متعددة من النص أو عرضها في وقت التشغيل. طالما لا يوجد شريط تمرير أفقي، فسيتم التفاف النص الموجود في TextBox متعدد الأسطر تلقائيًا وفقًا للكلمة. يتم تعيين القيمة الافتراضية لخاصية ScrollBars إلى 0 (بلا). يوفر التفاف الكلمات التلقائي على المستخدمين مشكلة إدراج فواصل الأسطر في نهاية الأسطر. عندما يتجاوز سطر من النص طول العرض، يقوم TextBox تلقائيًا بطي النص إلى السطر التالي للعرض.
في وقت التصميم، لا يمكن إدخال فواصل الأسطر في نافذة الخصائص. أثناء العملية، يمكن إنشاء نقطة توقف للسطر عن طريق إدراج حرف إرجاع متبوعًا بحرف السطر الجديد (أحرف ANSI 13 و0). يمكنك أيضًا استخدام vbCrLf الثابت لإدراج مجموعة إرجاع السطر وتغذية السطر. على سبيل المثال، إجراء الحدث التالي هو مثال لوضع سطرين من النص في مربع نص متعدد الأسطر (Text1) عند تحميل النموذج.
SubForm_Load()
Text1.Text=هناالخطوط_
&vbCrLf&intextbox
EndSub
استخدام النص من TextBox
باستخدام خصائص SelStart وSelLength وSelText الخاصة بـ TextBox، يمكنك التحكم في نقطة الإدراج وسلوك التحديد في TextBox. هذه الخصائص متاحة فقط في وقت التشغيل.
عندما يتلقى TextBox التركيز لأول مرة، تكون نقطة الإدراج الافتراضية لـ TextBox وموضع المؤشر في أقصى يسار النص. يمكن للمستخدمين نقلها باستخدام لوحة المفاتيح والماوس. عندما يفقد TextBox التركيز ثم يستعيد التركيز، يكون موضع نقطة الإدراج هو نفس الموضع الأخير الذي حدده المستخدم.
وفي بعض الحالات، قد يكون غير متوافق مع إعدادات المستخدم. على سبيل المثال: في تطبيق معالجة النصوص، سيرغب المستخدم في ظهور أحرف جديدة بعد النص الموجود؛ وفي تطبيق إدخال البيانات، سيرغب المستخدم في أن تحل مدخلاته محل الإدخال الأصلي. باستخدام خصائص SelStart وSelLength، يمكن للمستخدم تغيير سلوك TextBox حسب الحاجة.
الخاصية SelStart هي رقم يشير إلى نقطة الإدراج داخل السلسلة النصية، حيث يمثل 0 الموضع في أقصى اليسار. إذا كانت قيمة خاصية SelStart أكبر من أو تساوي عدد الأحرف في النص، فسيتم وضع نقطة الإدراج بعد الحرف الأخير، كما هو موضح في الشكل 3.7. للحصول على نسخة صالحة للعمل من هذا المثال، راجع Text.frm في مثال التطبيق Controls.vbp. الخاصية SelLength هي القيمة التي تحدد عرض نقطة الإدراج. سيؤدي تعيين SelLength إلى قيمة أكبر من 0 إلى تحديد وتمييز أحرف SelLength بدءًا من نقطة الإدراج الحالية. ويبين الشكل 3.8 أداء الاختيار.
إذا تم تحديد جزء من النص، فإن النص الذي كتبه المستخدم سيحل محل النص المحدد. في بعض الحالات، يمكنك أيضًا استخدام أمر اللصق لاستبدال النص الأصلي بنص جديد. الخاصية SelText عبارة عن سلسلة نصية يمكن تعيين قيمة لها في وقت التشغيل لاستبدال النص المحدد حاليًا. إذا لم يكن هناك نص محدد، فسيقوم SelText بإدراج النص عند نقطة الإدراج الحالية.
لمزيد من المعلومات حول خصائص عنصر التحكم TextBox، راجع الفصل 7، "استخدام عناصر التحكم القياسية لـ Visual Basic."
لمزيد من المعلومات حول خصائص عنصر التحكم TextBox، راجع الفصل 7، "استخدام عناصر التحكم القياسية الخاصة بـ Visual Basic."
->