UltraTextEditor でマウスイベントを捕捉する方法を紹介します。
UltraTextEditor では、クリック操作を受け取るのは UltraTextEditor ではなく、その内側のエディタになります。このため、UltraTextEditor レベルではマウスイベントが発生しません。これは、製品の想定する動作となります。
UltraTextEditor のマウスイベントを捕捉するには、UltraTextEditor の ControlAdded イベント内で、UltraTextEditor の内部エディタに対してイベント登録をします。(イベントの登録解除は、ControlRemoved イベント内で行います。)
イベントの登録
private void ultraTextEditor1_ControlAdded(object sender, ControlEventArgs e)
{
// イベントの登録
e.Control.MouseDown += Control_MouseDown;
e.Control.MouseUp += Control_MouseUp;
e.Control.Click += Control_Click;
e.Control.DoubleClick += Control_DoubleClick;
}
イベントの登録解除
private void ultraTextEditor1_ControlRemoved(object sender, ControlEventArgs e)
{
// イベントの登録解除
e.Control.MouseDown -= Control_MouseDown;
e.Control.MouseUp -= Control_MouseUp;
e.Control.Click -= Control_Click;
e.Control.DoubleClick -= Control_DoubleClick;
}
イベントハンドラー (例:MouseDown)
private void Control_MouseDown(object sender, MouseEventArgs e)
{
//処理を実装
Debug.WriteLine(e.Button);
}