C#のマウスイベントに応じてトラックバーを移動するにはどうすればよいですか?
質問
これはおそらくN00Bクエリです。マウスダウンイベントに基づいてトラックバーの値を変更したい場所が必要です。これは次のように達成しました:
private void MoveTrackBarToMouseClickLocation(TrackBar a_tBar, int a_mouseX)
{
// Jump to the clicked location
double dblValue;
dblValue = ((double)a_mouseX / (double)a_tBar.Width) * (a_tBar.Maximum - a_tBar.Minimum);
a_tBar.Value = Convert.ToInt32(dblValue);
}
その部分は正常に機能します。マウスボタンが押されている間に、スクロールを動作させるのに苦労しています。たとえば、トラックバーをクリックして、マウスを下にして値50と言うと、マウスがダウンしている間に右または左(値= 50から)をスクロールできるようにしたいと思います。
私は自分の小さな問題を明確にしたことを願っています。どんな助けも感謝しています。ありがとう
解決
でコードを実行する必要があります MouseMove
イベント, 、と同様に MouseDown
イベント。
このイベントは、マウスを移動したときに発生します その間 ボタンの1つが押されています。対照的に、 MouseDown
現在処理するイベントは、マウスボタンが押されるたびに1回だけ上げられます。それが理由です TrackBar
ユーザーがマウスを移動するときに動いていませんが、ボタンが最初に押されたときに適切に動作しています。
イベントハンドラーを配線したコードを表示したり、電話をかけたりしませんでした MoveTrackBarToMouseClickLocation
機能、それが私が得ることができる限り具体的です。しかし、あなたがなんとか配線した場合 MouseDown
すでにイベント、これは簡単な修正であるはずです。
所属していません StackOverflow