Jak uzyskać zdarzenie DoubleClick w przycisku opcji .NET?
Chciałbym móc przechwytywać zdarzenia DoubleClick lub MouseDoubleClick ze standardowego przycisku opcji Winforms, ale wydają się być ukryte i nie działają. W tej chwili mam taki kod:
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 );
}
}
}
Czy istnieje prostszy i czystszy sposób, aby to zrobić?
Edytuj: W tle zgadzam się z postem Raymonda Chenatutaj że możliwość dwukrotnego kliknięcia przycisku opcji (jeśli są totylko kontrolki w oknie dialogowym sprawiają, że okno dialogowe jest nieco łatwiejsze w użyciu dla osób, które o tym wiedzą.
W systemie Vista za pomocą okna dialogowego zadań (patrzta strona z wytycznymi Microsoft lubta strona MSDN o interfejsie API zadania) byłoby oczywistym rozwiązaniem, ale nie mamy tego luksusu.