تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
ما الحدث الذي يطلقه الزر Tab
#1
السلام عليكم
كل الازرار تطلق الحدث KeyDown وغيره ما عدا الزر تاب
ما الحدث الذي يطلقه
كيف اعرف ان المستخدم ضغط عليه
الرد }}}
تم الشكر بواسطة:
#2
الحدث الافتراضي هو.......SelectedIndexChanged

و في اللينك التلي ستجد قائمة بكل الاحداث الخاصة بهذا الكونترول

اللينــــــــــــــــــــك
الرد }}}
تم الشكر بواسطة: kslawy , ربيع
#3
اخي جزاك الله خيرا
انا اقول الزر Tap ما قولت الاوبجكت TabControl
هههه
الزر تاب من لوحة المفاتيح
الرد }}}
تم الشكر بواسطة: ربيع
#4
ههههههههههههههه.............عفوا

عموما كل الباتون الموجودة علي لوحة المفاتيح لها قيمة
بخصوص Tab

هي تقوم ب القفز من كونترول الي كونترول اخر داخل الفورم و هكذا
لكن في حالة الكتابة داخل TextBox مثلا فهي تقفز مسافة ثابتة معينة
الرد }}}
تم الشكر بواسطة: kslawy , ربيع
#5
إقتباس :لكن في حالة الكتابة داخل TextBox مثلا فهي تقفز مسافة ثابتة معينة

لا يتم عندي ذلك
بل ينتقل ايضا الي العنصر التالي

الفكرة : اريد عند الضغط علي الزر Tap يفعل شي معين هل يوجد طريقة لذلك
الرد }}}
تم الشكر بواسطة: kslawy , ربيع
#6
السلام عليكم

تستطيع ذلك باستخدام LostFocus للحدث المطلوب

يعطيك العاقية
(( يَا أَيَّتُهَا النَّفْسُ الْمُطْمَئِنَّةُ ارْجِعِي إِلَى رَبِّكِ رَاضِيَةً مَرْضِيَّةً فَادْخُلِي فِي عِبَادِي وَادْخُلِي جَنَّتِي ))

الرد }}}
تم الشكر بواسطة: kslawy , ربيع
#7
السلام عليكم...

العديد من المكونات تعتبر بعض المفاتيح كمفاتيح تنقل (Navigation Keys) و ليست مفاتيح إدخال (Input Keys). و بالتالي لا يتم قدح الحدث KeyDown لتلك النفاتيح. مثلاً المكون Button يعامل مفاتيح الأسهم كمفاتيح تنقل و بالتالي لا يقع الحدث KeyDown مع مفاتيح الأسهم على الـ Button.

نفس الأمر يكون مع معظم المكونات بالنسبة إلى المفتاح Tab. أي أنه يُعتبر مفتاح تنقل و ليس مفتاح إدخال.

للتعامل مع هذه الحالات لديك خياران بسيطان، و كلاهما يحتاج إلى استعمال الحدث PreviewKeyDown الذي يحدث قبل الحدث KeyDown مهما كان المفتاح المضغوط:

1. إذا كنت تريد التعامل مع ضغط المفتاح Tab مع السماح بالانتقال إلى المكون التالي (لأن المفتاح Tab يعمل بشكل افتراضي على الانتقال إلى المكون التالي) فاكتب الكود الذي تريده مباشرة في إجراء الحدث PreviewKeyDown. لا يمكنك هنا إلغاء السلوك الافتراضي للمفتاح Tab (أو أي مفتاح آخر) لأن البارامتر e الذي يحتوي على بارامترات الحدث (من النوع PreviewKeyDownEventArgs) لا يحتوي على الخاصية Handled.

2. إذا كنت تريد التعامل مع ضغط المفتاح Tab مع إلغاء عمله الافتراضي (أي منع الانتقال إلى المكون التالي):

أ. اكتب في الحدث PreviewKeyDown الكود التالي:

كود :
If e.KeyCode = Keys.Tab Then
        e.IsInputKey = True
    End If

حيث هذا الكود يجعل المكون يعتبر أن المفتاح Tab هو مفتاح إدخال، و بالتالي سيعمل على قدح الحدث KeyDown.

ب. اذهب إلى الحدث KeyDown و اكتب الكود الذي تريده.

* ستلاحظ في الحالة الثانية (أي استعمال e.IsInputKey = True و كتابة الكود في الحدث KeyDown) أن الـ Focus لا تنتقل من المكون إلى المكون الذي يليه.

نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}
#8
نحمده ونصلي على رسوله الكريم

اجعل خاصية الـ keypreview للنموذج تساوي true واستخدم حدث الـ keypress التابع للنموذج ايضا لكتابة:
كود :
If CByte(e.KeyChar) = 9 Then
    MessageBox.Show("[TAB]")
End If
الرد }}}
تم الشكر بواسطة: Sniper.ps
#9
السلام عليكم ورحمة الله

اسف علي التأخير في الرد كنت مشغول جدا الله المستعان

جزاكم الله خيرا وبارك فيكم
اخي ناجي كفيت ووفيت اسئل الله تعالي ان يجزيك خيرا
انا وجدت نفس التوضيح عندما بحثت لاكن للاسف ظنيت ان الزر تاب لا يفجر اي حدث حتي الحدث PreviewKeyDown فقلت كيف لي ان اكتب كود في حدث لن يتم تفجيره
وهذا الخطاء طبعا استفدت منه فائدة كبيرة وهي
يجب ان اجرب اي كود قبل ان احكم عليه مجرد القراءة السريعة للكود لا تكفي في الحكم عليه الا ان كان هناك سايق تجربة طبعا هههه


اخي ربيع جزاك الله خيرا
ولي سؤال هل الخاصية keypreview تجعل الفورم يتلقي الحدث قبل الاوبجكت
الرد }}}
تم الشكر بواسطة: ربيع
#10
نحمده ونصلي على رسوله الكريم

لا اعلم ذلك مسبقا لكني جربت التالي:
كود :
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
    MessageBox.Show("Form");
}

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    MessageBox.Show("Control");
}

وكانت الاسبقية للنموذج....
الرد }}}
تم الشكر بواسطة: ali.alfoly


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Information [VB.NET] حذف كل العناصر التي تاتي بعد عنصر الذي احدده listbox mervandz 3 290 10-11-23, 07:12 PM
آخر رد: justforit
  [VB.NET] حدث النقر على الزر flawer69 3 383 23-08-23, 05:49 PM
آخر رد: أبو خالد الشكري
  كيف اقوم بقفل الملف الذي يستخدمه احد المستخدمين ابو محمد محمد محمد 8 660 21-04-23, 05:58 PM
آخر رد: ابو محمد محمد محمد
  اظهار مربع الاشارة علي الزر mohamedallams 4 949 10-08-22, 12:18 PM
آخر رد: mohamedallams
  [VB.NET] إبقاء التحديد على الصف الذي تم تحديث بياناته بعد التحديث مسلم_١ 3 1,100 19-01-22, 07:58 PM
آخر رد: مسلم_١
  انتقال إلى سطر جديد بواسطة ضغط الزر انتر Alhootti1 10 3,075 03-02-21, 01:23 PM
آخر رد: Alhootti1
Question [سؤال] اضافه رابط الى الزر 3booy201 9 9,271 30-12-20, 10:10 PM
آخر رد: asmarsou
  جعل الزر في الداتا قريد تقبل اكثر من سطر المتألق9 0 917 22-11-20, 04:17 PM
آخر رد: المتألق9
  تحديد نوع العمود الذي يقبل ارقام وكسور عمور2016 2 1,206 09-10-20, 09:11 PM
آخر رد: عمور2016
  كيف اعرف الصف في الداتا قريد الذي تتم عليه العملية جيولوجي مبتدئ 6 1,756 21-04-20, 02:09 AM
آخر رد: جيولوجي مبتدئ

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم