मैं एक टेक्स्टबॉक्स में कुछ टाइप करने के बाद, सी # में WinForm ऐप के साथ काम कर रहा हूं, मैं एंटर कुंजी को हिट करना चाहता हूं लेकिन टेक्स्टबॉक्स में अभी भी फोकस है (कर्सर फ़्लैशिंग अभी भी टेक्स्टबॉक्स में है), मैं इसे कैसे प्राप्त कर सकता हूं?सी # टेक्स्टबॉक्स पर ध्यान केंद्रित करते समय मैं एंटर मारकर बटन पर क्लिक कैसे करूं?
उत्तर
सरल विकल्प सिर्फ बटन दबाया करना चाहते हैं (आमतौर पर "ठीक है" आदि) के लिए रूपों की AcceptButton स्थापित करने के लिए किया जाता है:
TextBox tb = new TextBox();
Button btn = new Button { Dock = DockStyle.Bottom };
btn.Click += delegate { Debug.WriteLine("Submit: " + tb.Text); };
Application.Run(new Form { AcceptButton = btn, Controls = { tb, btn } });
यदि यह एक विकल्प नहीं है, तो आप KeyDown घटना देख सकते हैं आदि, लेकिन वह अधिक काम है ...
TextBox tb = new TextBox();
Button btn = new Button { Dock = DockStyle.Bottom };
btn.Click += delegate { Debug.WriteLine("Submit: " + tb.Text); };
tb.KeyDown += (sender,args) => {
if (args.KeyCode == Keys.Return)
{
btn.PerformClick();
}
};
Application.Run(new Form { Controls = { tb, btn } });
यह करने के लिए हमेशा की तरह स्थापित करने के लिए Form
के AcceptButton
बटन आप चाहते हैं "क्लिक" है। आप इसे या तो वीएस डिजाइनर या कोड में कर सकते हैं और AcceptButton
किसी भी समय बदला जा सकता है।
यह आपकी स्थिति पर लागू हो सकता है या नहीं भी हो सकता है, लेकिन मैंने इसे GotFocus
के साथ TextBox
ईएस के रूप में अलग-अलग व्यवहार को सक्षम करने के लिए उपयोग किया है, जहां उपयोगकर्ता ने एंटर दबाया था। उदाहरण के लिए:
void TextBox1_GotFocus(object sender, EventArgs e)
{
this.AcceptButton = ProcessTextBox1;
}
void TextBox2_GotFocus(object sender, EventArgs e)
{
this.AcceptButton = ProcessTextBox2;
}
एक बात जब इस पद्धति का उपयोग यह है कि आप जब TextBox3
ध्यान केंद्रित हो जाता है ProcessTextBox1
को AcceptButton
सेट छोड़ कर मत के सावधान रहने की। मैं ईवेंट TextBox
ईएस पर AcceptButton
पर सेट करने की सलाह दूंगा, या GotFocus
विधि बनाएं जो सभी नियंत्रण जो विशिष्ट AcceptButton
कॉल का उपयोग नहीं करते हैं।
इस पर जाल कर सकते हैं WinForms लिए बहुत-बहुत मान्य है। हालांकि, डब्ल्यूपीएफ में आपको चीजों को अलग-अलग करने की ज़रूरत है, और यह आसान है। IsDefaultकी संपत्ति इस टेक्स्ट-क्षेत्र के लिए प्रासंगिक के रूप में सेट करें।
एक बार जब आप एंटर कुंजी कैप्चर कर लेते हैं, तो तदनुसार गुणों को टॉगल करना न भूलें।
मैं अपने आप को एक ही चीज़ की तलाश में इस दौरान आया, और मुझे क्या लगता है कि सूचीबद्ध उत्तरों में से कोई भी वास्तव में समाधान प्रदान नहीं करता है जब आप एंटर दबाते समय फॉर्म पर 'AcceptButton' पर क्लिक नहीं करना चाहते हैं।
एक साधारण उपयोग-केस स्क्रीन पर एक टेक्स्ट सर्च बॉक्स होगा जहां एंटर दबाकर 'खोज' बटन पर क्लिक करना चाहिए, फॉर्म के स्वीकृति बटन व्यवहार को निष्पादित नहीं करना चाहिए।
यह छोटा स्निपेट चाल करेगा;
private void textBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 13)
{
if (!textBox.AcceptsReturn)
{
button1.PerformClick();
}
}
}
मेरे मामले में, इस कोड पाठ बॉक्स से प्राप्त एक कस्टम UserControl का हिस्सा है, और नियंत्रण के लिए एक 'ClickThisButtonOnEnter' गुण नहीं है। लेकिन उपर्युक्त एक सामान्य समाधान है।
private void textBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
button.PerformClick();
// these last two lines will stop the beep sound
e.SuppressKeyPress = true;
e.Handled = true;
}
}
इस कुंजीडाउन ईवेंट को टेक्स्टबॉक्स में बांधें, फिर जब भी आप कोई कुंजी दबाते हैं, तो यह ईवेंट निकाल दिया जाएगा।घटना के अंदर हम जाँच करें कि क्या उपयोगकर्ता का बटन दबा दिया "कुंजी डालें", यदि हां, तो क्या आप कार्यवाही नहीं कर सकता
क्या आप कुछ स्पष्टीकरण जोड़ सकते हैं? –
मैं यह जवाब पसंद करता हूं, यह अब तक का सबसे सरल है। – chwi
क्यों न केवल * स्वीकार करें बटन * का उपयोग करें? –
अधिकांश शुरुआत अनुकूल समाधान है: 1. अपने डिज़ाइनर में , पाठ क्षेत्र आप ऐसा करना चाहते हैं पर क्लिक करें । गुणों पर विंडो (डिफ़ॉल्ट: नीचे-दाएं) thunderbolt (घटनाक्रम) पर क्लिक करें। यह आइकन वर्णमाला क्रम आइकन और गुण आइकन के बगल में है।
2. कुंजी डाउन पर स्क्रॉल करें। इसके ठीक नीचे ड्रॉपडाउन फ़ील्ड पर क्लिक करें। आप देखेंगे कि वहां कुछ भी नहीं है इसलिए बस एंटर दबाएं।
private void yourNameOfTextbox_KeyDown(object sender, KeyEventArgs e)
{
}
3. तो बस कोष्ठक के बीच इस पेस्ट: दृश्य स्टूडियो आप निम्नलिखित कोड लिखेंगे
if (e.KeyCode == Keys.Enter)
{
yourNameOfButton.PerformClick();
}
इस के रूप में आप यह क्लिक है | में कार्य करेगा।
चीयर्स! फिल
बस फॉर्म सेट करें "बटन स्वीकार करें" उस बटन पर संपत्ति जिसे आप एंटर कुंजी द्वारा हिट करना चाहते हैं। या लोड घटना में लिखने this.acceptbutton = btnName;
मेरे लिए सही समाधान। धन्यवाद – Nuno
this.textboxName.KeyDown += (sender, args) => {
if (args.KeyCode == Keys.Return)
{
buttonName.PerformClick();
}
};
इनिशियलाइज़ विधि
में जोड़ना या आप सिर्फ इस सरल 2 लाइनर कोड :)
if (e.KeyCode == Keys.Enter)
button1.PerformClick();
- 1. क्या किसी टेक्स्टबॉक्स पर ध्यान केंद्रित किए बिना बटन पर क्लिक करना संभव है?
- 2. कैसे ध्यान केंद्रित करने पर और क्लिक
- 3. टेक्स्ट बॉक्स पर ध्यान केंद्रित
- 4. स्क्रीन पर समय-समय पर कार्डलाइन पर ध्यान केंद्रित करें
- 5. मैं कोको में पिछले एप्लिकेशन पर ध्यान केंद्रित कैसे करूं?
- 6. uisearchbar पर ध्यान केंद्रित करते समय कीबोर्ड इस्तीफा
- 7. 5 टेक्स्टबॉक्स, 2 बटन। बटन पर टेक्स्टबॉक्स कैसे असाइन करें?
- 8. मैं jasmine.js में एक spec पर कैसे ध्यान केंद्रित करूं?
- 9. खिड़की पर ध्यान केंद्रित करते समय विंडो शीर्षक बदलना क्रोम
- 10. एंटर-कुंजी प्रेस पर बाइंड टेक्स्टबॉक्स
- 11. jQuery रोकें .blur() घटना "सबमिट" बटन पर क्लिक करते समय
- 12. बटन विभिन्न इनपुट (एंटर) में एंटर कुंजी दबाते समय इवेंट फ़ायर पर क्लिक करें
- 13. एंटर कुंजी दबाए जाने पर क्लिक करें पर क्लिक करें C#
- 14. Textarea माउस क्लिक पर ध्यान केंद्रित खो देता है?
- 15. कैसे निर्धारित करें कि फ़ॉर्म पर किस नियंत्रण पर ध्यान केंद्रित किया गया है?
- 16. टेक्स्ट बटन पर एंटर कैसे करें टैब बटन
- 17. किसी तत्व पर सही तरीके से कैसे ध्यान केंद्रित करें?
- 18. मैं स्क्रीन पर जेडीअलॉग कैसे केंद्रित करूं?
- 19. टेक्स्ट क्षेत्र में टैप करते समय CKEditor आईओएस पर ध्यान केंद्रित नहीं करता है
- 20. jquery गतिशील सामग्री पर ध्यान केंद्रित सेट?
- 21. बटन पर क्लिक करते समय नई विंडो खोलनी चाहिए?
- 22. बटन पर क्लिक करें पृष्ठ पर क्लिक करें ईवेंट
- 23. एक्स्टोज़ मोडल विंडोज़ बैक कंट्रोल पर ध्यान केंद्रित करते हैं
- 24. एंड्रॉइड बटन - कैसे सही पर ध्यान केंद्रित करने के लिए सेट करें और अभी भी क्लिक करें क्लिक करें पहले क्लिक पर क्लिक श्रोता?
- 25. क्लिक पर समय विलंब
- 26. कोको मेरे आवेदन पर ध्यान केंद्रित कर रहा है
- 27. जब यह पर ध्यान केंद्रित करने एक्सएमएल
- 28. अगले इनपुट (jquery) पर ध्यान केंद्रित
- 29. एनएसएलर्ट एक्सेसरी आइटम पर ध्यान केंद्रित करें
- 30. जीडब्ल्यूटी में तत्व पर ध्यान केंद्रित कैसे करें?
+1 सर्वश्रेष्ठ उत्तर मुझे लगता है कि उपयोग कर सकते हैं! – GETah