Как получить событие DoubleClick в радиокнопке .NET?
Я хотел бы иметь возможность перехватывать события DoubleClick или MouseDoubleClick с помощью стандартной кнопки-переключателя winforms, но они, похоже, скрыты и не работают. На данный момент у меня есть такой код:
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 );
}
}
}
Есть ли более простой и чистый способ сделать это?
Изменить: для справки, я согласен с постом Раймонда ЧенаВот что возможность двойного щелчка на переключателе (если этоonly элементы управления в диалоговом окне) делает диалоговое окно немного проще для людей, которые знают об этом.
В Vista, используя диалоги задач (см.эта страница руководства Microsoft или жеэта страница MSDN специально об API диалога задач) было бы очевидным решением, но мы не можем позволить себе такую роскошь.