按钮执行此操作:如果用户提示并按住鼠标左键在按钮控件上并将光标移出控件,则按钮控件将其外观更改为默认值,如果鼠标按钮仍被按住,并且光标进入按钮控件,控件将其外观更改为按下的版本。我正在尝试使用PictureBox模仿一个按钮,但是当鼠标在释放鼠标左键之前离开PictureBox时,PictureBox的图片在释放鼠标按钮之前不会改变。
我正在尝试这样做,因为按钮控件看起来不像我想要的那样。
如何使用图片框模仿按钮控件,其行为与按钮完全相同?
答案 0 :(得分:1)
这是设计,控件将Capture属性设置为true,这样当您将鼠标移动到控制矩形之外时,按住按钮时它将继续接收鼠标消息。
当你看到它移出时你可以把它关掉:
private void pictureBox1_MouseMove(object sender, MouseEventArgs e) {
var box = (PictureBox)sender;
if (!box.DisplayRectangle.Contains(e.Location)) box.Capture = false;
}
答案 1 :(得分:0)
尝试使用DragLeave事件而不是MouseLeave事件。