TrackBarのマウスホイール移動量変更
- 題名: TrackBarのマウスホイール移動量変更
- 著者: 焦げ太
- 日時: 2012/03/09 19:25:24
- ID: 30070
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: TrackBarのマウスホイール移動量変更
- 著者: Hongliang
- 日時: 2012/03/09 19:58:44
- ID: 30071
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: TrackBarのマウスホイール移動量変更
- 著者: 焦げ太
- 日時: 2012/03/12 9:41:14
- ID: 30087
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
こんにちは。
C#でWindowsアプリを作成しています。
TrackBarをマウスホイールで操作した場合の移動量を1ずつに
変更したいのですが思うようにできません。
SmallChange、LargeChangeを1にしても、それより大きな単位
で動作します。
それならば、TrackBarをカスタムしOnMouseWheelでValueを
1ずつ変更してやればと思ったのですが、下記のように記述
するだけでなぜか1ずつになりました。
protected override void OnMouseWheel(MouseEventArgs e)
{
Console.WriteLine(this.Value);
this.OnScroll(new EventArgs());
}
しかし、Console.WriteLine(this.Value)で値を確認すると
以下のようにValueが変更される前に来ているようです。
1回目のホイール操作で1つ上げた場合 →this.Valueは変化しない
2回目のホイール操作でさらに1つ上げた場合→this.Valueは前回の+1の変化
3回目のホイール操作でさらに1つ上げた場合→this.Valueは前回の+1の変化
最大までトラックを上げた場合 →this.ValueはMaximun - 1の値
最大までトラックを上げた後一つ下げた場合 →this.ValueはMaximunの値
マウスホイールで操作した場合の移動量を1ずつに変更する
にはどうしたらよいのでしょうか。
ご指導よろしくお願いします。