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

问题描述:

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

编辑:我有一个窗体2 System.Windows.Forms.Button。的Visual Studio 2017

一个图像ilustrate:

enter image description here

EDIT²:本smllButton开始无形! bigButton的 MouseEnter事件:bigButton的smallButton.Visible = true 鼠标离开事件:smllButton.visible = false

+1

我认为我们需要比您提供的更多信息。 – hatchet

+0

你有没有试过把它带到设计器或BringToFront()的代码中?看到https://*.com/questions/1351054/winform-ui-components-layer-order – hatchet

+0

我尝试的第一件事 –

一种方法是使用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确定按钮的哪个部分被点击。