后台代码设置按钮按下、释放的事件
通常我们会为按钮btn
添加MouseDownEvent和MouseUpEvent事件,,如下:
public MainWindow()
{
InitializeComponent();
btn.AddHandler(Button.MouseDownEvent, new MouseButtonEventHandler(Btn_MouseDown));
btn.AddHandler(Button.MouseUpEvent, new MouseButtonEventHandler(Btn_MouseUp));
}
private void Btn_MouseDown(object sender, MouseButtonEventArgs e)
{
txt.Text = "鼠标按下";
}
private void Btn_MouseUp(object sender, MouseButtonEventArgs e)
{
txt.Text = "鼠标释放";
}
那实际运行起来来呢?是不是有问题呢,鼠标点半天没反应
然后又试了一下鼠标右键点击,就可以了!这是为什么,我也不知道,有待研究。
要想实现左键点击,可以将路由事件改成PreviewMouseLeftButtonDownEvent和PreviewMouseLeftButtonUpEvent
btn.AddHandler(Button.PreviewMouseLeftButtonDownEvent, new MouseButtonEventHandler(Btn_MouseDown));
btn.AddHandler(Button.PreviewMouseLeftButtonUpEvent, new MouseButtonEventHandler(Btn_MouseUp));
注意如果设置事件MouseLeftButtonDownEvent和MouseLeftButtonUpEvent同样对鼠标左键是无效的(奇怪)。
这时再点击左键就可以了!