.NET Windows窗体 - 确定单击的控件

时间:2014-04-29 17:20:41

标签: .net winforms

我想在我点击的表单的任何部分 Control 的引用:表单背景,复选框,文本框,标签,任何内容。我的表单是在MDI环境中,但我认为它并不重要。想象一个简单的“检查窗口”,允许监督开放式MDI表单的某些方面。

目前我通过阅读有效MDI表单的Form.ActiveControl(或仅Form,如果ActiveControl为空)来获取该引用 - 当然,仅适用于可以保持焦点的控件。不能以这种方式获得对标签或组合框的引用。

我知道向每个控件分发单击处理程序将解决问题,但它似乎有点重量级和繁琐 - 在表单获得焦点时分配处理程序并在焦点丢失时删除处理程序。 是否有一些更优雅的解决方案可以获得点击对象的参考?

我正在使用VB.NET,但如果你想包含一些表达式或代码片段,也可以随意使用C#。

1 个答案:

答案 0 :(得分:2)

Form类有一个GetChildAtPoint()方法,可能就是你要找的......

http://msdn.microsoft.com/en-us/library/a6zktd23(v=vs.110).aspx