2012-08-04 13 views
10

असल में, मैं एक घटना को ट्रिगर करने में सक्षम होना चाहता हूं जब कुंजी दबाएं दबाया जाता है। मैंने पहले ही यह कोशिश की:मैं कैसे कहूं कि टेक्स्टबॉक्स में एंटर कुंजी दबाई जाती है?

private void input_KeyDown(object sender, KeyEventArgs e) 
    { 
     if (e.Equals("{ENTER}")) 
     { 
      MessageBox.Show("Pressed enter."); 
     } 
    } 

लेकिन संदेशबॉक्स कभी दिखाई नहीं देता है। मैं यह कैसे कर सकता हूँ?

+6

कुंजीअप (आपकी परिस्थितियों के आधार पर) पर ऐसा करना एक अच्छा विचार हो सकता है। कीप को प्रत्येक बार एक बार जारी होने के लिए बुलाया जाता है .. हालांकि कुंजी डाउन होने पर कीडाउन को लगातार कॉल किया जाता है .. –

उत्तर

19

इस एक शॉट दे दो ...

private void input_KeyDown(object sender, KeyEventArgs e) 
{       
    if(e.KeyData == Keys.Enter) 
    { 
     MessageBox.Show("Pressed enter."); 
    }    
} 
+0

धन्यवाद, यह बहुत उपयोगी था, ताकि मेरे लिए वास्तविक वाक्यविन्यास पता चल सके। मेरे लिए वाक्यविन्यास था: यदि (.W.Key == Key.Enter) // System.Windows.Input का उपयोग कर // – user2010136

0

तुम भी ऐसा कर सकते हैं:

private void input_KeyDown(object sender, KeyEventArgs e) 
    {       
    if(e.KeyCode== Keys.Enter) 
    { 
     //Your business logic here. 
    }    
    } 

KeyCode बनाम KeyData साथ फर्क सिर्फ इतना है कि KeyCodeKeyCode साथ संशोधक संयोजन का पता लगा सकते है (उदाहरण के लिए CTRL , Shift + A) जिसे आपको यहां आवश्यकता नहीं है।

संबंधित मुद्दे