C#在窗体上的某个位置获取控件

Dan*_*ger 5 c# controls winforms

这是C#获取控件在窗体上的位置的反问题。

给定窗体内的Point位置,我如何找出在该位置用户可见的控件?

我目前正在使用HelpRequested表单事件来显示一个单独的帮助表单,如MSDN中所示:MessageBox.Show Method

在MSDN示例中,事件sender控件用于确定帮助消息,但sender在我的情况下,始终是表单而不是控件。

我想使用HelpEventArgs.MousePos来获取表单内的特定控件。

Bry*_*yan 6

您可以在窗体上使用Control.GetChildAtPoint方法。如果您需要深入几个级别,则可能必须递归执行此操作。也请参阅此答案