2011-01-07 7 views
8

मैं अपने विंडोज़ फॉर्म एप्लिकेशन में कुछ नियंत्रणों के लिए कीबोर्ड शॉर्टकट बनाना चाहता हूं।आप विंडोज फॉर्म एप्लिकेशन में Alt शॉर्टकट कैसे बना सकते हैं?

उदाहरण:

Screenshot of XYZ

सूचना रेखांकित, एफ ई वी पी बी

मैं एक लेबल और एक पाठ बॉक्स नियंत्रण है। मैं उस Alt लेबल और टेक्स्टबॉक्स के लिए कीबोर्ड शॉर्टकट को जोड़ना चाहता हूं। तो अगर कोई Alt + बी दबाता है, तो संबंधित टेक्स्टबॉक्स पर ध्यान दिया जाता है। क्या इस संगठन को बनाने का कोई तरीका है?

उत्तर

11

जब लेबल को एक्सेलेरेटर कुंजी दबाकर फोकस प्राप्त होता है (& का उपयोग करके सेट करें), यह टैब ऑर्डर में अगले नियंत्रण पर ध्यान केंद्रित करता है, क्योंकि लेबल संपादन योग्य नहीं होते हैं। टैब ऑर्डर में आपको अगले नियंत्रण के लिए टेक्स्टबॉक्स की आवश्यकता है।

अपने फॉर्म के टैब ऑर्डर को देखने और सही करने के लिए, आईडीई में व्यू + टैब ऑर्डर कमांड का उपयोग करें। टैबपेज या अन्य कंटेनर का उपयोग टैब ऑर्डर (उदाहरण के लिए, 1.1, 1.2 केवल 1 और 2) के बजाय घोंसले का स्तर जोड़ता है, लेकिन यदि लेबल और टेक्स्टबॉक्स एक ही कंटेनर के भीतर हैं तो इसे ठीक से सेट करना बहुत कठिन नहीं होना चाहिए।

5

प्रकार &File या &Edit और आप को रेखांकित कर दिया जाएगा। यह शॉर्टकट के लिए Alt कीवर्ड के साथ स्वचालित रूप से रेखांकित अक्षरों को बाध्य करेगा।

संपादित करें। आप प्रश्न संशोधित कर चुके हैं, इसलिए मैं अपने उत्तर के साथ रहना चाहता हूं। आप कुछ चाबियाँ संयोजन (Alt + F) पकड़ना चाहते हैं और टेक्स्ट बॉक्स पर फ़ोकस सेट करना चाहते हैं।

आप मुख्य फॉर्म की कीडाउन घटना का उपयोग करके इस समाधान को आजमा सकते हैं।

private void Form1_KeyDown(object sender, KeyEventArgs e) 
    { 
     if (e.Alt && e.KeyCode == Keys.F) 
     { 
      this.textBox1.Focus(); 
     } 
    } 

इस लक्ष्य को हासिल करने के लिए आपको अतिरिक्त true को फार्म के KeyPreview गुण सेट करने के लिए है।

+0

यह काम करने के लिए प्रतीत नहीं होता। मैं एक टैबपेज नियंत्रण का उपयोग कर रहा हूं और मैं चाहता हूं कि एफ को "फ़ॉन्ट" में रेखांकित किया जाए। बदलना। टैग पेज 1 की अगली संपत्ति इसे रेखांकित नहीं करती है। –

+0

ठीक है, आपके द्वारा प्रदान की गई छवि मेनू मेनू स्ट्रिप दिखाती है। आप फ़ॉन्ट नामक एक टैबपेज चाहते हैं (रेखांकित एफ के साथ) और 'Alt + F' दबाकर आप टैबपेज को प्रदर्शित करना चाहते हैं। क्या मैं सही हूँ? – nan

+0

हां, ऐसा लगता है कि एम्पर्सेंड टैबपेज पर काम नहीं करता है। –

0
this.KeyDown += new KeyEventHandler(Form1_KeyDown); 

void Form1_KeyDown(object sender, KeyEventArgs e) 
{ 
if (e.Alt && e.KeyCode == Keys.W) 
{ 
    btnShowConstructionCdFun(); 
} 
} 
संबंधित मुद्दे