【发布时间】:2017-01-21 04:04:25
【问题描述】:
我有 50 个用户控件,我动态添加到 flowlayoutPanel。 我需要将焦点设置为用户控件,但它不起作用。 我一直在搜索,但找不到任何我理解的例子。
我发现的唯一例子是这个 Setting Focus to a .NET UserControl...?
我尝试使用 userCtrl.Focus();但它没有用。 正如我一直在阅读的用户控件不喜欢有焦点。
【问题讨论】:
-
UserControls是否包含其他控件?如果是这样,您可以专注于其中之一。 -
this.ActiveControl = YourControl;
-
按照其他人的评论设置 ActiveControl。此外,它们是您的用户控件!如果您给他们一个公共的 FocusOnMe() 方法并对该方法进行编码以在您想要的位置设置焦点,那么您的表单可以说 myUserControl.FocusOnMe()。
-
UserControl 真的很讨厌获得焦点并尽可能避免它。尽可能将其传递给子控件。它对焦点没有任何用处,它不能告诉用户它有焦点并且对键盘输入没有任何用处。这引出了一个问题,您为什么要与之抗争,这个问题非常不清楚。您关于它的另一个问题表明您实际上希望 FLP 具有焦点。它也不喜欢。给予 FLP 焦点需要手术 like this.
-
签出this。
标签: c# winforms user-controls