Jef*_*eff 20 .net vb.net controls focus winforms
如何找出Windows窗体中哪些控件具有焦点?
请注意,使用层次结构时,单次调用ActiveControl是不够的.想像:
Form
TableLayoutPanel
FlowLayoutPanel
TextBox (focused)
Run Code Online (Sandbox Code Playgroud)
(formInstance).ActiveControl将返回引用TableLayoutPanel,而不是TextBox
所以使用这个(完全披露:改编自这个C#答案)
Function FindFocussedControl(ByVal ctr As Control) As Control
Dim container As ContainerControl = TryCast(ctr, ContainerControl)
Do While (container IsNot Nothing)
ctr = container.ActiveControl
container = TryCast(ctr, ContainerControl)
Loop
Return ctr
End Function
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
59068 次 |
| 最近记录: |