標準のwinformsラジオボタンからDoubleClickまたはMouseDoubleClickイベントをキャッチできるようにしたいのですが、それらは非表示になっていて機能していないようです。現在、私は次のようなコードを持っています:
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 );
}
}
}
それを行うためのより簡単でクリーンな方法はありますか?
編集:背景として、私はここでのレイモンド・チェンの投稿に同意します。ラジオボタンをダブルクリックする機能(ダイアログの唯一のコントロールである場合)により、ダイアログを知っている人にとってはほんの少しだけ使いやすくなります。
Vistaでは、タスクダイアログ(特にタスクダイアログAPIについてはこのMicrosoftガイドラインページまたはこのMSDNページを参照)を使用することは明らかな解決策ですが、そのような贅沢はありません。