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);
}
Tagged:

製品について

Ultimate UI for Windows Forms