الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة التنقل بين الخانات .................

بدأه ahmed husien في 16 يناير 2011 · 5 رد · 1,283 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الالسلام عليكم

ااستخدم طريقة index+1.setfocus

للتنقل من اول خانة الى اخر خانة وهي تعمل معي جيدا لكن

يحدث خطاء عند الوصول المؤشر الى اخر خانة والتي هي مثلا text1(5).text

حيث بمجرد ظغط enter

يحدث حطاء ويتوقف البرنامج لان لاتوجد خانة وبما ان الشرط index+1

فاكيد يحدث خطاء ماذا اضيف للكود للتخلص من المشكلة

#2

السلام عليكم اخي

هناك طرقية اسهل وافضل من الطريقة التي تستخدمها

من الخصائص هناك خاصية اسمها Tabindex

يمكنك استخدامها في تحديد ترتيب البيانات

مثال :

يوجد لدينا 4 text تريد التنقل بينها بالترتيب

ويتم الحل كتالي

الاول : text1.tabindex = 1

الثاني : text2.tabindex = 2

الثالث : text3.tabindex = 3

الرابع : text4.tabindex = 4

وهكذا مع استخدام كبسة Tab لتساعدك على التنقل

بالتوفيق

1

بسم الله الذي لا يضر مع اسمه شيء بالارض ولا بالسماء وهو السميع العليم

#3

السلام عليكم...

شكراً للأخ عبد الرحمن، و تكملة لكلامه فإن استعمال المفتاح Tab هي الطريقة الصحيحة و المستعملة في كل البرامج - و أنا أيضاً أفضلها - لكن هناك مستخدمون (زبائن) يصرون على استعمال المفتاح Enter للانتقال من خانة إلى أخرى (و هي طريقة قديمة كانت مستعملة أيام النظام DOS).

هناك طريقة سهلة لاستعمال المفتاح Enter للتنقل، فيعد ضبط الخاصية TabIndex للمكونات بالترتيب حسب ما ذكر الأخ عبد الرحمن، نكتب السطر التالي في الحدث KeyDown للمكونات التي تقبل المؤشر (TextBox أو CheckBox أو Option أو غيرها):

If Key = vbKeyReturn Then SendKeys "{TAB}"

و هي طريقة أفضل من استعمال SetFocus لنقل المؤشر إلى مكون معين، حيث أن هذه الطريقة غير مربوطة باسم مكون معين قد تضطر إلى تغييره إذا قمت بتغيير ترتيب المكونات، و إنما تتبع ترتيب الخاصية TabIndex. كذلك فإن ضغط Shift+Enter سيؤدي إلى الانتقال إلى المكون السابق تماماً كما يفعل Shift+Tab.

نرجو الاستفادة و السلام.

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#4

السلام عليكم

الاخوة الاعزاء الحقيقة معلومات قيمة . بس عفوا الاخ naji

ان كان بامكانك ان توضح لي بالظبط كيف اوجه اوامر ascii

من خلال key 13 في لوحة المفاتيح

الى مفتاح tab

يعني ممكن اتضيف على هالكود خاصتي

if keyascii =13 then .............

#5

السلام عليكم ورحمة الله وبركاته

اخي العزيز

انا استعمل الكود التالي ولا يظهر عندي اي مشاكل وهي عندما اريد التنقل بين الادوات التي علي الفورم كالاتي

الكود

في حدث keyascii للاداه

if keyascii=13 then

text2.setfocus

end if

ويكتب الكود السابق في حدث التكست واحد او اي اداه تريد من خلالها التنقل الي التي تليها

واي استفسار ارجوا اخباري قد لا اكون فهمت قصدك تمام

#6

السلام عليكم اخي العزيز اني استخدم مصفوفة للتيكست بطريقة copy

يعني مثلا سيكون الكائن اسمه في البرنامج text1(0).text

مواضيع مشابهة