मैं मानक Winforms रेडियो बटन से DoubleClick या MouseDoubleClick ईवेंट को पकड़ने में सक्षम होना चाहता हूं, लेकिन वे छिपे हुए हैं और काम नहीं कर रहे हैं।मैं .NET रेडियो बटन में डबलक्लिक ईवेंट कैसे प्राप्त करूं?
public class RadioButtonWithDoubleClick : RadioButton
{
public RadioButtonWithDoubleClick()
: base()
{
this.SetStyle(ControlStyles.StandardClick | ControlStyles.StandardDoubleClick, true);
}
[EditorBrowsable(EditorBrowsableState.Always), Browsable(true)]
public new event MouseEventHandler MouseDoubleClick;
protected override void OnMouseDoubleClick(MouseEventArgs e)
{
MouseEventHandler temp = MouseDoubleClick;
if(temp != null) {
temp(this, e);
}
}
}
वहाँ यह करने के लिए एक सरल और क्लीनर तरीका है: इस समय मैं इस तरह कोड है?
संपादित करें: पृष्ठभूमि के लिए, मैं रेमंड चेन के पद here कि दोगुना करने के लिए एक रेडियो बटन पर क्लिक करें (अगर उन संवाद पर केवल नियंत्रण कर रहे हैं) की क्षमता संवाद सिर्फ एक छोटे से थोड़ा आसान के लिए उपयोग करने के लिए बनाता है के साथ सहमत जो लोग इसके बारे में जानते हैं।
कार्य संवाद का उपयोग कर Vista में (this Microsoft guideline page या this MSDN page specifically about the Task Dialog API देखें) स्पष्ट समाधान होगा, लेकिन हमारे पास इसकी लक्जरी नहीं है।
मैं इस एक को स्वीकार कर रहा हूँ, क्योंकि हालांकि मुझे लगता है कि मेरा खुद का समाधान मेरे मामले के लिए आसान है, जहां मैं कई बार एक ही नियंत्रण का उपयोग करने जा रहा हूं, अगर कोई सिर्फ एक या दो चाहता है तो आपका बहुत आसान है। – Ant
यह .NET 3.5 पर काम नहीं कर रहा है क्योंकि क्लिक == 2 कभी नहीं होता है। – Wernight
यह .NET 4.0 में नहीं होता है, इसलिए मैं एमएसडब्लू द्वारा प्रतिबिंब आधारित एक स्वीकृत उत्तर को बदल रहा हूं। – Ant