विंडोज फॉर्म - एंटर कीप सक्रिय करें बटन सबमिट करें?


95

मैं अपने प्रपत्र पर कहीं भी दर्ज करें और इसे बटन बटन घटना को आग लगाने के लिए मजबूर कैसे कर सकता हूं?


8
तो आप मैट हैमिल्टन के जवाब पर AcceptButton संपत्ति क्यों नहीं दबाते हैं?
मुकुस

'this.Form.DefaultButton = MyButton.UniqueID' का उपयोग करें
बीनो कोचुमोल वर्गीज

जवाबों:


196

आप अपने सेट करते हैं Formकी AcceptButtonसे एक के लिए संपत्ति Buttonपर रोंForm आप डिफ़ॉल्ट रूप से उस व्यवहार मिलेगा।

अन्यथा, KeyPreviewसंपत्ति को trueचालू करें Formऔर उसके KeyDownईवेंट को संभालें । आप Enterकुंजी की जांच कर सकते हैं और आवश्यक कार्रवाई कर सकते हैं।


8
और एस्केप कुंजीपट से बचने के लिए कैंसबटन के बारे में मत भूलिए
WholeLifeLearner

1
बहुत बढ़िया! मुझे अपने फ्रैमवेरोक को बेहतर जानने की जरूरत है;)
जैक

24
private void textBox_KeyDown(object sender, KeyEventArgs e) 
{
    if (e.KeyCode == Keys.Enter)
        button.PerformClick();
}

22

आप प्रपत्र के गुणों में "AcceptButton" के रूप में एक बटन को नामित कर सकते हैं और यह प्रपत्र पर किसी भी "Enter" कुंजी को पकड़ लेगा और उन्हें उस नियंत्रण के लिए मार्ग देगा।

देखें कि कैसे: डिज़ाइनर का उपयोग करके स्वीकार करें बटन के रूप में एक विंडोज फॉर्म बटन को डिज़ाइन करें और कुछ अपवादों को नोट करें जो इसे रेखांकित करता है (बहु-पंक्ति पाठ-बक्से, आदि)


लिंक के लिए धन्यवाद, उन अपवादों ने मुझे पकड़ लिया।
ubiquibacon

यह लिंक मर गया प्रतीत होता है।
JAD

10

जैसा कि पहले कहा, अपने रूप के सेट AcceptButton अपने बटनों में से एक के लिए संपत्ति और सेट DialogResult है कि बटन के लिए संपत्ति DialogResult.OK जानना चाहते हैं कि संवाद स्वीकार कर लिया गया या खारिज कर फोन करने वाले के लिए आदेश में,।


6

आप की KeyUpघटना के लिए सदस्यता ले सकते हैं TextBox

private void txtInput_KeyUp(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
       DoSomething();
}

1
मुझे इसकी ही खोज थी। मेरे पास बटन संवाद सेट करने के लिए ठीक है और काम करने के लिए ENTER के लिए अनावश्यक कोड लिखना नहीं चाहता था!
कृत्जन १२१५

2

प्रपत्र में एक KeyPreview गुण होता है जिसका उपयोग आप कीप को इंटरसेप्ट करने के लिए कर सकते हैं।



0

अपने प्रपत्र पर KeyPreview विशेषता को True पर सेट करें, फिर Enter कुंजी का पता लगाने के लिए अपने प्रपत्र स्तर पर KeyPress घटना का उपयोग करें। "सबमिट" बटन के लिए आपके पास जो भी कोड होगा उसका पता लगाने पर कॉल करें।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.