2010-03-23 6 views
7

मैं सी # का उपयोग कर एक उपकरण का निर्माण कर रहा हूँ। यह एक विंडोज़ अनुप्रयोग है। मैं एक फार्म पर एक पाठ बॉक्स है, और मुझे लगता है कि पाठ बॉक्स में ध्यान केंद्रित प्रदान करना चाहते हैं जब उपयोगकर्ता प्रेस Ctrl +एफ या Ctrl +एसकैसे Windows Forms में कोई शॉर्टकट कुंजी (Ctrl + F की तरह कुछ) एक पाठ बॉक्स में आवंटित करने के लिए?

मैं यह कैसे कर सकता हूं?

उत्तर

1

कब्जा करता है, तो उस में बयान क्या कुंजी दबाव डाला गया था की जांच करने के KeyDown घटना और जगह एक।

private void form_KeyDown(object sender, KeyEventArgs e) 
{ 
    if ((e.Control && e.KeyCode == Keys.F) || (e.Control && e.KeyCode == Keys.S)) { 
     txtSearch.Focus(); 
    } 
} 
10

एक तरह से ProcessCMDKey घटना ओवरराइड करने के लिए है।

protected override bool ProcessCmdKey(ref Message msg, Keys keyData) 
{ 
    if (keyData == (Keys.Control | Keys.S)) 
    { 
     MessageBox.Show("Do Something"); 
     return true; 
    } 
    return base.ProcessCmdKey(ref msg, keyData); 
} 

संपादित करें: वैकल्पिक रूप से आप keydown घटना का उपयोग कर सकते हैं - देख How to capture shortcut keys in Visual Studio .NET

+0

मैं वैकल्पिक विकल्प के लिए जाता था, लेकिन यह आसान तरीका है! +1 – Joel

0

, एक घटना है कि फार्म पर एक कुंजी दबाएँ पकड़ता जोड़े कुंजी दबाएँ विश्लेषण और अगर यह आपके शॉर्टकट कुंजी से मेल खाता है और फिर फोकस आवंटित देखते हैं।

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