الحدث لأسفل مفتاح المتضررين من أزرار
-
03-07-2019 - |
سؤال
وانا جديدة هنا ولدي مشاكل تذكر مع C # التطبيق. أريد أن التقاط الحدث السلبي الرئيسي. وهذا لم يكن مشكلة في البداية ولكن بعد أن إضافة بعض الأزرار إلى النموذج، الحدث الرئيسي لأسفل النموذج يتجاهل مفاتيح الأسهم وينتقل التركيز من زر واحد إلى آخر. (يعمل مفتاح حتى الحدث) هل هناك وسيلة لوقف هذه وجعلها تفعل شيئا آخر عندما عقد مفاتيح الأسهم؟
المحلول
<الإضراب> تعيين KeyPreview و> الملكية على النموذج إلى true. وسوف تسمح شكل لرؤية الحدث KeyDown بالإضافة إلى عناصر التحكم التابعة. إضراب>
وهذا إضافة إلى النموذج الخاص بك ...
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData.Equals(Keys.Right))
{
MessageBox.Show("Right Key Pressed!");
}
return base.ProcessCmdKey(ref msg, keyData);
}
نصائح أخرى
إذا كنت لا تريد مفتاح لأسفل وظيفة طبيعية للضوابط سوف تحتاج إلى تعيين الحدث الرئيسي لأسفل على كل عنصر تحكم، وتعيين سمة التعامل معها للوسائط الحدث ليكون صحيحا، وبهذه الطريقة فإنه لا فقاعة حتى بنيت في وظيفة الرقابة.