.NET 4.0 WPFでは、マウスの左ボタンによるダブルクリックをどのように検出しますか?
一見些細な作業。
MouseDoubleClick
を使用して、イベントでどのボタンが押されたかを判別する方法がわかりませんSystem.Windows.Input.MouseButtonEventArgs
。
MouseDoubleClick
MouseButtonEventArgs
イベント引数として渡します。これにより、どのボタンがダブルクリックされたかを示すChangedButtonプロパティが公開されます。
void OnMouseDoubleClick(Object sender, MouseButtonEventArgs e)
{
if (e.ChangedButton == MouseButton.Left)
{
// Left button was double clicked
}
}
お探しMouseButtonEventArgs.ChangedButton
ですか?ここにAPIがあります。
private void MouseButtonDownHandler(object sender, MouseButtonEventArgs e)
{
Control src = e.Source as Control;
if (src != null)
{
switch (e.ChangedButton)
{
case MouseButton.Left:
src.Background = Brushes.Green;
break;
case MouseButton.Middle:
src.Background = Brushes.Red;
break;
case MouseButton.Right:
src.Background = Brushes.Yellow;
break;
case MouseButton.XButton1:
src.Background = Brushes.Brown;
break;
case MouseButton.XButton2:
src.Background = Brushes.Purple;
break;
default:
break;
}
}
}