单击表单不会单击基础控件

时间:2013-02-03 19:22:30

标签: c# winforms

我有一个Windows窗体应用程序。当我单击一个窗口时,这会激活表单,然后我需要再次单击以调用特定的控件单击事件。例如,如果我单击一个按钮,则会激活表单,然后我需要再次单击该按钮。

有没有办法在一次点击中执行控制点击和窗口激活?我希望这适用于任何可点击的控件(菜单,按钮,标签等)

到目前为止,我已设法在鼠标悬停时激活win表单,然后控件点击工作。我想在点击时激活win表单,如果有点击事件,还可以在底层控件上运行click命令。

1 个答案:

答案 0 :(得分:0)

嗯,这是一种完成你想要的方法(只需在你的MouseClick事件中添加一个类似的方法):

private void Form1_MouseClick(object sender, MouseEventArgs e)
{
    var c = this.GetChildAtPoint(e.Location);
    this.InvokeOnClick(c, e);
}

这种方法有它的缺点 - 例如即使它被禁用等也会点击控件,所以你必须确保光标下的控件是你自己“可点击”的......