3

これはおそらく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から)。

私の小さな問題を明確にしたことを願っています。どんな助けでも大歓迎です。ありがとう

4

1 に答える 1

2

イベントだけでなく、MouseMoveイベントでもコードを実行する必要がありますMouseDown

このイベントは、いずれかのボタンを押したままマウスを移動すると発生します。対照的に、MouseDown現在処理しているイベントは、マウス ボタンが押されるたびに 1 回だけ発生します。TrackBarこれが、ユーザーがマウスを動かしても が動かない理由ですが、最初にボタンを押したときには正しく動作しています。

イベントハンドラーを接続したり、関数を呼び出したりするコードを示していないMoveTrackBarToMouseClickLocationので、それは私が得ることができるほど具体的です。しかし、MouseDownすでにイベントを関連付けることができた場合、これは簡単な修正になるはずです。

于 2010-12-23T07:15:37.880 に答える