single.php

C#でマウスのホイールイベントを追加する手順

C#でマウスイベントを追加するには、プロパティ画面から行いますがホイール関連のイベントは、手作業で追加を行います。マウスのホイールイベントの追加方法を備忘録的に投稿します。

スポンサーリンク

イベントはプロパティ画面から追加

マウスのクリックやダブルクリックなど、コントロールにマウスのイベントハンドラーを追加する場合には[プロパティ]画面から行います。

しかし、マウスの中央にあるホイール部分に関連したイベント(マウスのホイールを使ってスクロールするような動作など)には対応しておらず、コードを使って手作業で追加をする必要があります。

手作業でイベントを追加

ホイール関連のイベントは次の様に追加をしていきます。

Windows Form アプリの場合にはコンストラクター部分に、イベントを取得したいコントロールに対して、次のようなコードを追加します。

this.mycontrol.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.myControl_MouseWheel);

mycontrolは、フォーム上の取得したいコントロール(ラベルとかテキストボックスなど)で “this.myControl_MouseWheel” としている部分はイベント発生後に呼び出す関数名を指定します。

その後に、呼び出す関数を追加します。

private void myControl_MouseWheel(object? sender, MouseEventArgs e) {
  //イベント後に呼び出される関数
}

変数の型名に “?” が追加されているのは「null 許容参照型」を指定して、NULLが引き渡される想定があるとコンパイラーに伝えます。

[おそらく、NULL値の許容の属性が原因です]と警告メッセージが表示される場合には別記事をご覧ください。

ビルド後に、フォーム上の対象にしたコントロールでマウスのホイールが操作された場合には、イベントが発生して指定した関数が呼び出されるようになります。

まとめ

C#でマウスのホイールに関するイベントを追加する場合には[プロパティ]画面を利用せず、コード画面に手作業でイベントハンドラーを追加する必要があります。

また、変数の型宣言を「null 許容参照型」にする必要があり、通常の型宣言で行った場合には、警告メッセージ[参照型のNULL値の許容が、ターゲットデリゲートと一致しません。おそらく、NULL値の許容の属性が原因です]と表示される場合があります。

C#でマウスのホイールイベントなどを追加したい方の参考になれば幸いです。

スポンサーリンク

最後までご覧いただき、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。