【问题标题】:.NET Windows Forms – determine clicked control.NET Windows 窗体 - 确定单击的控件
【发布时间】:2014-04-29 17:20:41
【问题描述】:

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

目前我通过阅读活动 MDI 表单的 Form.ActiveControl(或者只有 Form,如果 ActiveControl 为空)来获得该参考 - 但当然,这仅适用于可以保持焦点。无法通过这种方式获得对标签或分组框的引用。

我知道将 Click 处理程序分配给每个控件将解决问题,但它似乎有点重量级和麻烦 - 当表单获得焦点时分配处理程序并在失去焦点时删除处理程序。 是否有更优雅的解决方案来获取点击对象的引用?

我使用的是 VB.NET,但如果您希望包含一些表达式或代码 sn-p,也可以随意使用 C#。

【问题讨论】:

标签: .net winforms


【解决方案1】:

Form 类有一个 GetChildAtPoint() 方法,这可能是您正在寻找的...

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-07
    • 2010-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多