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