في تطبيقات الكونسول، يمكن استخدام
لانتظار أي إدخال من المستخدم قبل إغلاق التطبيق، ولكن كما ذكرت، إذا نقرت على أي مفتاح، سيتم إغلاق الكونسول.
إذا كنت ترغب في إبقاء تطبيق الكونسول مفتوحًا إلى أن تقرر أنت إغلاقه بنفسك (أي لا يتم إغلاقه إلا عندما تضغط على مفتاح محدد مثل "Ctrl + C" أو أي مفتاح آخر مخصص للإغلاق)، يمكنك استخدام حلقة غير منتهية تعمل بشكل مستمر حتى تقوم أنت باتخاذ قرار إغلاق الكونسول.
إليك مثال على كيفية القيام بذلك:
vb
نسخ الكود
كود :
Module Module1
Sub Main()
' رسالة ترحيب
Console.WriteLine("مرحباً! سيتم إبقاء الكونسول مفتوحاً حتى تقرر إغلاقه.")
' استخدام حلقة لا نهائية
Do
' الانتظار لإدخال من المستخدم
' يمكنك تعديل الشرط هنا لتحديد مفتاح خاص للإغلاق
If Console.KeyAvailable Then
Dim key = Console.ReadKey(True) ' قراءة المفتاح بدون طباعة على الشاشة
' التحقق من الضغط على مفتاح محدد للإغلاق مثل "Esc"
If key.Key = ConsoleKey.Escape Then
Exit Do ' الخروج من الحلقة عندما يتم الضغط على مفتاح "Esc"
End If
End If
Loop
' عند الخروج من الحلقة، سيتم إغلاق التطبيق
Console.WriteLine("تم إغلاق التطبيق.")
End Sub
End Module
شرح الكود:
- حلقة
Do Loop
- :
- هذه الحلقة تعمل بشكل لا نهائي، ولن تنتهي إلا إذا تم الضغط على مفتاح محدد (مثل "Esc" في المثال).
- Console.KeyAvailable
- :
- يتم استخدام هذه الخاصية للتحقق إذا كان هناك مفتاح تم الضغط عليه دون الحاجة للتوقف.
- Console.ReadKey(True)
- :
- يقوم بقراءة المفتاح الذي تم ضغطه ولكنه لا يطبعه على الشاشة (
True
- يعني عدم الطباعة).
- التحقق من الضغط على "Esc":
- إذا تم الضغط على مفتاح "Esc"، يتم الخروج من الحلقة باستخدام
Exit Do
- .
النتيجة:
سيظل التطبيق مفتوحًا حتى تضغط على مفتاح "Esc" لإغلاقه. يمكنك تخصيص هذا ليشمل أي مفتاح آخر حسب الحاجة.
ملاحظة:
- يمكنك استخدام
Console.ReadKey(True)
- بدلاً من
Console.ReadKey()
- لأن الأول لا يطبع الحرف على الشاشة، وهو ما يساعد في التحكم بالتطبيق بشكل أفضل.