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#でマウスのホイールイベントなどを追加したい方の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。