DataGrid OnClickのスクロールを制御する2つのボタンを作成しました。ユーザーが押している間、スクロールを管理するコードを実行したいと思います。C#Winformボタンを押してループするイベント
私はMouseDown()を試しましたが、コードは1回だけ実行されます。
ヘルプが必要です。
DataGrid OnClickのスクロールを制御する2つのボタンを作成しました。ユーザーが押している間、スクロールを管理するコードを実行したいと思います。C#Winformボタンを押してループするイベント
私はMouseDown()を試しましたが、コードは1回だけ実行されます。
ヘルプが必要です。
主なアイデアは、たとえば100msごとにタイマーを実装し、ティックイベントでロジックを実行することです。アルゴリズムは次のように見ることができます:
にタイマーを停止します。他のスレッドにあるUIコントロールを使用する場合は、Invoke()メカニズムを使用するだけで十分注意してください。
コード:もちろん上記
private bool mouseDown = false;
private void buttonScrollUp_MouseDown(object sender, MouseEventArgs e)
{
mouseDown = true;
new Thread(() => {
while (mouseDown)
{
Invoke(new MethodInvoker(() => [DO_THE_SCROLLING_HERE));
Thread.Sleep([SET_AUTOREPEAT_TIMEOUT_HERE);
}
})
.Start();
}
private void buttonScrollUp_MouseUp(object sender, MouseEventArgs e)
{
mouseDown = false;
}
コードスニペットは、いくつかの健全性とエラーcheksを欠いています。私はタイマーが重く方法であったと私はこれを行うことができるイベントがあったbeleived思っ
LP、 デヤン
は、私はあなたの方法をやる、君たちに感謝します。 –