我有一个大按钮和一个大按钮上方的小按钮。我想要的是:当用户点击小按钮时,激活他的点击事件,而不是从大按钮激活点击事件。谢谢!
编辑:我有一个包含2个System.Windows.Forms.Button的表单。 Visual Studio 2017.
要说明的图像:
EDIT²:smllButton开始不可见!
bigButton的MouseEnter事件:layout_weight
bigButton的MouseLeave事件:smallButton.Visible = true
答案 0 :(得分:1)
一种方法是使用大按钮上的MouseDown
事件向小按钮发送一次点击:
private void bigButton_MouseDown(object sender, MouseEventArgs e) {
if (littleButton.Bounds.Contains(littleButton.Parent.PointToClient(Cursor.Position))) {
littleButton_Click(littleButton, EventArgs.Empty);
return;
}
// Any code needed for MouseDown actually on big button goes here:
}
注意,这样就可以将鼠标从小按钮拖动到大按钮,然后单击这两个按钮。您可以将大按钮的点击代码移动到此方法。
另一种方法是仅使用一个按钮,在MouseEnter
上更改其外观,并使用鼠标X / Y确定单击按钮的哪个部分。