10-04-14, 12:59 AM
الصفحات : 1 2
10-04-14, 01:06 AM
الحدث الافتراضي هو.......SelectedIndexChanged
و في اللينك التلي ستجد قائمة بكل الاحداث الخاصة بهذا الكونترول
اللينــــــــــــــــــــك
و في اللينك التلي ستجد قائمة بكل الاحداث الخاصة بهذا الكونترول
اللينــــــــــــــــــــك
10-04-14, 01:13 AM
اخي جزاك الله خيرا
انا اقول الزر Tap ما قولت الاوبجكت TabControl
هههه
الزر تاب من لوحة المفاتيح
انا اقول الزر Tap ما قولت الاوبجكت TabControl
هههه
الزر تاب من لوحة المفاتيح
10-04-14, 01:26 AM
ههههههههههههههه.............عفوا
عموما كل الباتون الموجودة علي لوحة المفاتيح لها قيمة
بخصوص Tab
هي تقوم ب القفز من كونترول الي كونترول اخر داخل الفورم و هكذا
لكن في حالة الكتابة داخل TextBox مثلا فهي تقفز مسافة ثابتة معينة
عموما كل الباتون الموجودة علي لوحة المفاتيح لها قيمة
بخصوص Tab
هي تقوم ب القفز من كونترول الي كونترول اخر داخل الفورم و هكذا
لكن في حالة الكتابة داخل TextBox مثلا فهي تقفز مسافة ثابتة معينة
10-04-14, 01:48 AM
إقتباس :لكن في حالة الكتابة داخل TextBox مثلا فهي تقفز مسافة ثابتة معينة
لا يتم عندي ذلك
بل ينتقل ايضا الي العنصر التالي
الفكرة : اريد عند الضغط علي الزر Tap يفعل شي معين هل يوجد طريقة لذلك
10-04-14, 08:40 AM
السلام عليكم
تستطيع ذلك باستخدام LostFocus للحدث المطلوب
يعطيك العاقية
تستطيع ذلك باستخدام LostFocus للحدث المطلوب
يعطيك العاقية
10-04-14, 11:57 AM
السلام عليكم...
العديد من المكونات تعتبر بعض المفاتيح كمفاتيح تنقل (Navigation Keys) و ليست مفاتيح إدخال (Input Keys). و بالتالي لا يتم قدح الحدث KeyDown لتلك النفاتيح. مثلاً المكون Button يعامل مفاتيح الأسهم كمفاتيح تنقل و بالتالي لا يقع الحدث KeyDown مع مفاتيح الأسهم على الـ Button.
نفس الأمر يكون مع معظم المكونات بالنسبة إلى المفتاح Tab. أي أنه يُعتبر مفتاح تنقل و ليس مفتاح إدخال.
للتعامل مع هذه الحالات لديك خياران بسيطان، و كلاهما يحتاج إلى استعمال الحدث PreviewKeyDown الذي يحدث قبل الحدث KeyDown مهما كان المفتاح المضغوط:
1. إذا كنت تريد التعامل مع ضغط المفتاح Tab مع السماح بالانتقال إلى المكون التالي (لأن المفتاح Tab يعمل بشكل افتراضي على الانتقال إلى المكون التالي) فاكتب الكود الذي تريده مباشرة في إجراء الحدث PreviewKeyDown. لا يمكنك هنا إلغاء السلوك الافتراضي للمفتاح Tab (أو أي مفتاح آخر) لأن البارامتر e الذي يحتوي على بارامترات الحدث (من النوع PreviewKeyDownEventArgs) لا يحتوي على الخاصية Handled.
2. إذا كنت تريد التعامل مع ضغط المفتاح Tab مع إلغاء عمله الافتراضي (أي منع الانتقال إلى المكون التالي):
أ. اكتب في الحدث PreviewKeyDown الكود التالي:
حيث هذا الكود يجعل المكون يعتبر أن المفتاح Tab هو مفتاح إدخال، و بالتالي سيعمل على قدح الحدث KeyDown.
ب. اذهب إلى الحدث KeyDown و اكتب الكود الذي تريده.
* ستلاحظ في الحالة الثانية (أي استعمال e.IsInputKey = True و كتابة الكود في الحدث KeyDown) أن الـ Focus لا تنتقل من المكون إلى المكون الذي يليه.
نرجو الاستفادة و السلام.
العديد من المكونات تعتبر بعض المفاتيح كمفاتيح تنقل (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 لا تنتقل من المكون إلى المكون الذي يليه.
نرجو الاستفادة و السلام.
10-04-14, 01:08 PM
نحمده ونصلي على رسوله الكريم
اجعل خاصية الـ keypreview للنموذج تساوي true واستخدم حدث الـ keypress التابع للنموذج ايضا لكتابة:
اجعل خاصية الـ keypreview للنموذج تساوي true واستخدم حدث الـ keypress التابع للنموذج ايضا لكتابة:
كود :
If CByte(e.KeyChar) = 9 Then
MessageBox.Show("[TAB]")
End If13-04-14, 09:22 AM
السلام عليكم ورحمة الله
اسف علي التأخير في الرد كنت مشغول جدا الله المستعان
جزاكم الله خيرا وبارك فيكم
اخي ناجي كفيت ووفيت اسئل الله تعالي ان يجزيك خيرا
انا وجدت نفس التوضيح عندما بحثت لاكن للاسف ظنيت ان الزر تاب لا يفجر اي حدث حتي الحدث PreviewKeyDown فقلت كيف لي ان اكتب كود في حدث لن يتم تفجيره
وهذا الخطاء طبعا استفدت منه فائدة كبيرة وهي
يجب ان اجرب اي كود قبل ان احكم عليه مجرد القراءة السريعة للكود لا تكفي في الحكم عليه الا ان كان هناك سايق تجربة طبعا هههه
اخي ربيع جزاك الله خيرا
ولي سؤال هل الخاصية keypreview تجعل الفورم يتلقي الحدث قبل الاوبجكت
اسف علي التأخير في الرد كنت مشغول جدا الله المستعان
جزاكم الله خيرا وبارك فيكم
اخي ناجي كفيت ووفيت اسئل الله تعالي ان يجزيك خيرا
انا وجدت نفس التوضيح عندما بحثت لاكن للاسف ظنيت ان الزر تاب لا يفجر اي حدث حتي الحدث PreviewKeyDown فقلت كيف لي ان اكتب كود في حدث لن يتم تفجيره
وهذا الخطاء طبعا استفدت منه فائدة كبيرة وهي
يجب ان اجرب اي كود قبل ان احكم عليه مجرد القراءة السريعة للكود لا تكفي في الحكم عليه الا ان كان هناك سايق تجربة طبعا هههه
اخي ربيع جزاك الله خيرا
ولي سؤال هل الخاصية keypreview تجعل الفورم يتلقي الحدث قبل الاوبجكت
13-04-14, 06:05 PM
نحمده ونصلي على رسوله الكريم
لا اعلم ذلك مسبقا لكني جربت التالي:
وكانت الاسبقية للنموذج....
لا اعلم ذلك مسبقا لكني جربت التالي:
كود :
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
MessageBox.Show("Form");
}
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
MessageBox.Show("Control");
}وكانت الاسبقية للنموذج....
الصفحات : 1 2