如何处理 WPF 中的鼠标滚轮单击事件?
Posted
技术标签:
【中文标题】如何处理 WPF 中的鼠标滚轮单击事件?【英文标题】:How can I handle the mouse wheel click event in WPF? 【发布时间】:2010-10-05 18:39:03 【问题描述】:我想在单击鼠标滚轮时关闭选项卡控件中的选项卡。如何在 WPF 中捕获此事件?
编辑: 代码如下:
private void tabMain_MouseDown(object sender, MouseButtonEventArgs e)
if(e.ChangedButton == MouseButton.Middle && e.ButtonState == MouseButtonState.Pressed)
MessageBox.Show("Middle button clicked");
【问题讨论】:
【参考方案1】:Mousewheel 其实就是 MiddleButton,所以 Wheel 点击 MouseDown 事件的条件是 ChangedButton == Middle && ButtonState == Pressed
【讨论】:
是否有理由在MouseDown
事件中检查ButtonState == ButtonState.Pressed
?还是只是从某个地方复制/粘贴?【参考方案2】:
更简单的解决方案
if (e.MiddleButton) MessageBox.Show("Middle button clicked");
【讨论】:
在 wpf 中? MouseButtonEventArgs.MiddleButton 是一个枚举。无法转换为布尔值。以上是关于如何处理 WPF 中的鼠标滚轮单击事件?的主要内容,如果未能解决你的问题,请参考以下文章