gpt4 book ai didi

vb.net - 如何在 Visual Basic 2010 中引用带有变量的控件?

转载 作者:行者123 更新时间:2023-12-02 15:36:20 25 4
gpt4 key购买 nike

我有 12 个复选框(总共 32 个,但现在只担心前 12 个),它们被命名为 checkbox1、checkbox 2...checkbox 12。我想要一个 for 循环遍历它们并查看它们是否被选中。如果它们被选中,它会对 Excel 工作表进行更改,如果没有,它就会继续。我有电子表格编辑的逻辑和 for 循环的基本结构,但不知道是否有办法在 for 循环中使用计数器来引用控件。

例如:

 for i as integer = 1 to 12
if ("Checkbox" & i).checked = True Then
<--Spreadsheet things happen-->
End if
then

有人向我提出了一些建议,即使用带有复选框名称的数组,然后执行 checkboxes(i).checked 但这会导致很多问题。其他人建议使用 controls.containskey 和 CType,但虽然这不会产生任何编译或运行时错误,但电子表格中的任何内容实际上都没有改变,我不知道我所做的任何事情意味着什么。

有人知道这样做的简单方法吗?

最佳答案

使用 Controls.Find() 方法:

    Dim matches() As Control
For i As Integer = 1 To 12
matches = Me.Controls.Find("CheckBox" & i, True)
If matches.Length > 0 AndAlso TypeOf matches(0) Is CheckBox Then
Dim cb As CheckBox = DirectCast(matches(0), CheckBox)
If cb.Checked Then

End If
End If
Next

关于vb.net - 如何在 Visual Basic 2010 中引用带有变量的控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16900526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com