मुझे के बावजूद साल के लिए के साथ सी # (Windows Forms) काम कर रहा है, मैं एक मस्तिष्क पल असफल हो रही हैं और न मुझे के जीवन के लिए पता लगा सकते हैं कि कैसे Ctrl टाइपिंग एक उपयोगकर्ता को पकड़ने के लिए + सी एक टेक्स्टबॉक्स में।एक पाठ बॉक्स में Ctrl + C पकड़ने
मेरा आवेदन मूल रूप से एक टर्मिनल अनुप्रयोग है, और मैं Ctrl +सी क्लिपबोर्ड पर प्रतिलिपि करें के लिए शॉर्टकट एक सीरियल पोर्ट के लिए एक (byte)3
भेजने के लिए, बजाय होना चाहते हैं।
मैंने शॉर्टकट enabled
संपत्ति को टेक्स्टबॉक्स पर गलत पर सेट किया है। फिर भी जब उपयोगकर्ता Ctrl + सी हिट करता है, तो कुंजीपटल ईवेंट आग नहीं आता है।
अगर मैं keydown पकड़ने, घटना आग जब उपयोगकर्ता प्रेस Ctrl (अर्थात, इससे पहले कि वे सी कुंजी हिट)।
शायद यह कुछ बेवकूफ सरल है जो मुझे याद आ रही है। इसके अलावा
if (e.Control && e.KeyCode == Keys.C) {
//...
e.SuppressKeyPress = true;
}
, अंतर्निहित पाठ बॉक्स द्वारा कीस्ट्रोक प्रसंस्करण को रोकने के लिए:
स्वीकृत के रूप में यह पहले से काम कर प्रतिक्रिया थी। बहुत धन्यवाद। - मैंने अंततः इसे समझ लिया - मेरा अपना जवाब देखें। – Bryan
मुझे पता है, यह थोड़ी देर हो गया है, लेकिन भविष्य में इसे ढूंढने वालों के लिए: Shift-Insert अभी भी संभाला जा रहा है, इसलिए आपको (e.Shift && e.KeyCode == Keys.Insert) सत्यापन जोड़ने की आवश्यकता है। इसके अलावा उपयोगकर्ता अभी भी मैदान पर राइट-क्लिक कर सकते हैं और पेस्ट का चयन कर सकते हैं ... तो 100% सबूत नहीं। – trailmax