Cra*_*ger 2 .net user-controls
我有一个行为类似于选项卡控件的用户控件。选项卡标题是UserControl
覆盖Paint
事件以使它们看起来自定义的实例。
为了利用选项卡页上各种控件上的验证事件,当用户单击选项卡标题时,我们将焦点设置为TabHeader
用户控件。
我注意到Control.Focus()
有时会返回 false,但文档没有说明为什么Control.Focus()
会返回 false,除了控件无法接收焦点之外。但我不知道为什么。
这是我所看到的:如果 myTabHeader
UserControl
不包含任何子控件,并且我myControl.Focus()
从MouseClick
事件中调用,则 focus 返回 true。
如果 myTabHeader
UserControl
包含子控件并且我myControl.Focus()
从MouseClick
事件中调用,则焦点返回 false。
如果 myTabHeader
UserControl
包含子控件,并且我myControl.subControl.Focus()
从myControl.MouseClick
事件中调用,则 focus 返回 true。
有人可以解释一下吗?
调用Focus()
aUserControl
选择该 UserControl 的第一个子控件。这确实可以解释你的行为。
您可以尝试打电话Select()
代替Focus()
,看看是否有效。