防止鼠标单击后鼠标进入事件
本文关键字:鼠标 入事件 单击 | 更新日期: 2023-09-27 18:36:12
我有一个图片框,我把它当作一个按钮!
我有一个代码,当鼠标单击事件时,图片会发生变化!但是鼠标移动也有不同的图像,即使我单击鼠标移动事件执行并将图像更改回未单击!
我的问题是我如何防止 MouseMove 事件并单击图片以免更改图片?
这是我的代码
void Button_Mouse_Enter(object sender, MouseEventArgs e)
{
PictureBox _Button = (PictureBox)sender;
if (e.Button.Equals(MouseButtons.None))
{
_Button.ImageLocation = @"PATH'Button_Hover.jpg";
}
}
void Button_Mouse_Click(object sender, MouseEventArgs e)
{
PictureBox _Button = (PictureBox)sender;
if (e.Button.Equals(MouseButtons.Left))
{
_Button.MouseEnter -= Button_Mouse_Enter;
_Button.ImageLocation = @"PATH'Button_Click.jpg";
}
}
事件是这样创建的:
Button_Plan.MouseEnter += (sender,e) => Button_Mouse_Enter(sender,e);
Button_Plan.MouseClick += (sender, e) => Button_Mouse_Click(sender, e);
我收到此错误:
Error 2 Argument 2: cannot convert from 'System.EventArgs' to 'System.Windows.Forms.MouseEventArgs'
如何将事件 e 参数作为鼠标事件参数传递?
嗨,
试试这个看看它有多大作用 使用鼠标移动事件
void Button_Mouse_Move(object sender, EventArgs e)
{
if (e.Button.Equals(MouseButtons.None))
{
_BPictureBox _Button = (PictureBox)sender;
_Button.ImageLocation = @"PATH'Button_Hover.jpg";
}
}
void Button_Mouse_Click(object sender, EventArgs e)
{
if (e.Button.Equals(MouseButtons.Left))
{
_Button.MouseEnter -= Button_Mouse_Enter;
PictureBox _Button = (PictureBox)sender;
_Button.ImageLocation = @"PATH'Button_Click.jpg";
}
}
希望这对你有帮助