如何解决从TabIndex获取Button?
假设我在一个面板中有50个按钮。在设计期间,将为这些按钮中的每个按钮自动分配一个TabIndex编号。
现在,我要获取的是TabIndex为37的特定按钮,并将其输入到需要按钮作为参数的函数PerformButtonFunction(Button)
中。
类似这样的东西:
PerformButtonFunction(Button whose TabIndex is 37)
那它怎么做呢?
请注意:索引不必每次都为37。该指数是通过一些计算获得的。同样,索引也不是按钮名称的一部分。我的意思是索引为37的按钮未命名为“ Button37”。
解决方法
Dim btn = Me.Controls.OfType(Of Button)().FirstOrDefault(Function(b) b.TabIndex = 37)
First 部分允许包含多个Buttons
的{{1}},而 OrDefault 部分不允许包含多个TabIndex
。
显然,您可以在该代码中使用变量代替文字Integer
。
,您可以在动态创建按钮时设置按钮名称。之后 你会得到那个名字的按钮。
Dim index As Ineger = 1
For Each btn In Me.Controls.OfType(Of Button)()
'...
If index = 37 Then
'Call Method here
Exit For
End If
index = index + 1
Next
另一种可能的解决方案是使用@jmcilhinney已经建议的TabIndex。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。