में Windows पैनल नियंत्रण में कीप्रेस घटना प्राप्त करने के लिए सी # में खिड़कियों पैनल नियंत्रण में कुंजी दबाने घटना प्राप्त करना चाहते हैं,मैं कैसे सी #
उत्तर
आप Panel.KeyPress घटना संभाल चाहिए मेरे लिए शरीर के किसी भी मदद की है ...।
उदाहरण
public void MyKeyPressEventHandler(Object sender, KeyPressEventArgs e)
{
... do something when key is pressed.
}
...
(MyPanel as Control).KeyPress += new KeyPressEventHandler(MyKeyPressEventHandler);
हाय धन्यवाद असल में मुझे अपने पैनल नियंत्रण के लिए कीप्रेस इवेंटहैंडर नहीं मिल रहा है, क्या आप मुझे बता सकते हैं कि यह कैसे प्राप्त करें .. – ratty
बस जेम्स ने लिखा उदाहरण का प्रयास करें। (MyPanel नियंत्रण के रूप में) .KeyPres वहां होंगे, अगर आप बिल्कुल लिखते हैं (MyPanel नियंत्रण के रूप में) जहां MyPanel आपके विंडोज़ पैनल नियंत्रण है। –
मुझे पता है कि यह गेम में थोड़ा देर हो चुकी है, लेकिन पैनल नियंत्रण को फोकस के बिना मुख्य संबंधित घटनाएं प्राप्त नहीं होंगी, और पैनल पर क्लिक करने से स्वाभाविक रूप से इसे ध्यान नहीं दिया जाएगा। आप पैनल के लिए माउसडाउन इवेंट हैंडलर में MyPanel.Focus() को कॉल करके इसे प्राप्त कर सकते हैं। एक बार जब पैनल फोकस कर लेता है, तो कुंजीपटल, कीडाउन, और कीप्रेस इवेंट कार्य करेगा, यहां तक कि मूल प्रपत्र पर सक्रिय कीप्राव्यू के बिना भी। – user1689175
समस्या है, कि पहली बार में अपने मुख्य रूप कुंजी दबाने हो गया और तुरंत सक्रिय नियंत्रण को यह संदेश भेजेगा। यदि यह इस कुंजी प्रेस को संभाल नहीं करता है तो इसे अभिभावक नियंत्रण पर बुलबुला किया जाएगा और इसी तरह।
इस श्रृंखला को बीच में रोकने के लिए, आपको अपने Form.KeyPreview
true
करने के लिए है और Form.KeyPress
के लिए एक हैंडलर जोड़ने। अब आप दबाए गए कुंजी को अपने फॉर्म में संभाल सकते हैं।
"पैनल" ऑब्जेक्ट्स "KeyPress" ईवेंट को सही तरीके से प्राप्त नहीं कर सकता है।
मेरे द्वारा बनाए गए Panel
अधिभार:
public class PersoPanel : Panel
और ओवरराइड विधि ProcessCmdKey
प्रयोग किया है:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
दबाया कुंजी रोकना:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
MessageBox.Show("You press " + keyData.ToString());
// dO operations here...
return base.ProcessCmdKey(ref msg, keyData);
}
पैनल + कीप्रेस - सी # चर्चा बोर्ड - कोडप्रोजेक्ट
http://www.codeproject.com/Messages/704386/Panel-plus-Keypress.aspx
- 1. मैं कैसे सी
- 2. मैं सी/उद्देश्य सी
- 3. कैसे मैं निम्नलिखित है सी #
- 4. मैं कैसे सी कोड (Win32)
- 5. मैं सी #
- 6. मैं सी #
- 7. मैं सी #
- 8. मैं सी #
- 9. मैं सी #
- 10. मैं सी #
- 11. मैं सी #
- 12. मैं सी #
- 13. मैं सी #
- 14. मैं सी #
- 15. मैं सी ++ से सी #
- 16. मैं सी ++
- 17. मैं सी ++
- 18. मैं सी #
- 19. मैं सी #
- 20. मैं सी #
- 21. मैं सी #
- 22. मैं सी #
- 23. मैं सी ++
- 24. मैं सी #
- 25. मैं सी #
- 26. मैं सी
- 27. मैं सी #
- 28. मैं सी/सी ++ से .NET असेंबली कैसे कॉल करूं?
- 29. मैं सी #+/सीएलआई को सी # से कैसे कॉल करूं?
- 30. सी # कैसे मैं एक xml फ़ाइल
पैनल पर क्लिक करें। गुणों (पैनल के) का दूसरा टैब घटनाओं को दिखाता है कि यह आग लग सकता है। KeyPressEvent और voila – RvdK
@PowerRoy पर डबल क्लिक करें, जो काम नहीं करेगा, पैनल KeyPressEvent विधि का पर्दाफाश नहीं करता है। यह केवल पूर्वावलोकनकी घटना का खुलासा करता है। – James
पूर्वावलोकनकी ठीक काम करता है अगर आप अपने मूसडाउन घटना में पैनल पर फ़ोकस सेट करते हैं। – TaW