मेरे पास एक टेक्स्ट बॉक्स वाला एक फॉर्म है। कोई अन्य नियंत्रण नहीं। जब भी मैं 'एंटर' कुंजी या 'Esc' कुंजी टाइप करता हूं, तो फॉर्म मेरी इच्छानुसार कार्य करता है; लेकिन मैं उस भयानक विंडोज त्रुटि ध्वनि सुनता हूँ। कोड निम्नलिखित के समान दिखता है ...'एंटर' या 'Esc' टाइप करते समय विंडो त्रुटि ध्वनि को कैसे रोकें
public class EntryForm: Form
{
public EntryForm()
{
}
private void EntryTextBox_KeyUp(object sender, KeyEventArgs e)
{
if(e.KeyCode == Keys.Enter)
{
// do some stuff
Hide(); // I've also used DialogResult = DialogResult.OK here
e.Handled = true;
}
else if(e.KeyCode == Keys.Escape)
{
Hide(); // I've also used DialogResult = DialogResult.Cancel here
e.Handled = true;
}
}
}
मैं इसे 'हैक' कर सकते हैं और फ़ॉर्म की निर्माता के लिए निम्न कोड जोड़कर शोर रोक सकते हैं।
AcceptButton = new Button();
CancelButton = new Button();
जैसा कि मैंने कहा है कि यह ध्वनि नहीं खेलती है, लेकिन मुझे लगता है कि यह खराब रूप है; खासकर जब से मुझे फॉर्म पर एक बटन की आवश्यकता नहीं है।
कोई भी जानता है कि यह व्यवहार क्यों है और यदि त्रुटि ध्वनि को खेलने से रोकने के लिए क्लीनर तरीका है?
यदि आपके पास कोई बटन नहीं है, तो आप एंटर या एएससी दबाते समय संवाद कैसे प्राप्त कर रहे हैं? जब आप एंटर या एएससी दबाते हैं तो जस के साथ एक फॉर्म सामान्य रूप से बस वहां बैठेगा। –
@ जॉन नोवेलर - छुपाएं() विधि फॉर्म को छुपाती है। आप दृश्यमान संपत्ति को झूठी भी सेट कर सकते हैं। यदि आपने फ़ॉर्म को सामान्य रूप से दिखाया है, तो आपको केवल कोड से संवाद परिणाम सेट करना होगा और फॉर्म गायब हो जाएगा। –