如何点击另一个按钮上方的按钮?

时间:2017-07-26 23:15:21

标签: c# winforms

我有一个大按钮和一个大按钮上方的小按钮。我想要的是:当用户点击小按钮时,激活他的点击事件,而不是从大按钮激活点击事件。谢谢!

编辑:我有一个包含2个System.Windows.Forms.Button的表单。 Visual Studio 2017.

要说明的图像:

enter image description here

EDIT²:smllButton开始不可见! bigButton的MouseEnter事件:layout_weight bigButton的MouseLeave事件:smallButton.Visible = true

1 个答案:

答案 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确定单击按钮的哪个部分。