0

クリックとダブルクリックを区別する必要があり、タイマー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;
   ....
}
4

1 に答える 1

1

タイマーを開始する前に、そのタグ プロパティをmouseeventargsパラメーター ( e) に設定します。これをイベント コールバックで使用できtimer.tickます (execute(double)click 関数に渡します)。

于 2011-08-03T08:11:30.917 に答える