クリックとダブルクリックを区別する必要があり、タイマーmsdn.doubleclickでこのソリューションを使用しました
だから私はこのようなタイマー機能を持っています
private void doubleClickTimer_Tick(object sender, EventArgs e)
{
milliseconds += 100;
if (milliseconds >= SystemInformation.DoubleClickTime)
{
doubleClickTimer_.Stop();
if (isDoubleClick)
executeDoubleClick();
else
ExecuteSingleClick();
isFirstClick = true;
isDoubleClick = false;
}
}
これは問題なく動作しますが、ExecuteSingleClick では MouseEventArgs e が必要ですが、doubleClickTimer 関数からの EventArgs e しかありません。doubleClickTimer から MouseEventArgs を取得する方法があるので、次のように記述できます。
ExecuteSingleClick(MouseEventArgs e)
{
MouseButton button = e.button;
....
}