【发布时间】:2016-06-07 08:43:55
【问题描述】:
我需要设置一些控件的文本。
我有一个Form 和一些CheckBoxes 和一些TextBoxes。
在VBA(如果我有 5 个名为“TextBox1”、“TextBox2”、...“TextBox5”的文本框)我可以使用这样的东西:
For n = 1 To 5
Me("TextBox" & n).Text = NeededValue
Next n
我知道在 VB.Net 中也可以使用类似的方法,但我无法找到正确的语法(我在 SO 上也没有找到类似的代码)。
我尝试过使用
Me.Controls()
但我不能以这种方式插入控件名称
【问题讨论】:
-
如果有人决定使用更好(更有意义)的控件名称怎么办?那会默默地破坏你的代码。不要让你的逻辑依赖于控件名称。
-
@TimSchmelter 我使用了“有意义”的控件名称,但我只需要展示和重视其中的一些(我没有更好的想法)建议得到赞赏
-
您可以将它们分组到容器控件中,例如
Panel或GroupBox。然后很简单:Dim myTextboxes=textBoxPanel.Controls.OfType(Of TextBox).ToArray() -
@TimSchmelter 他们已经进入了一个面板。我有类似 4 行的东西。每个都有一个组合框和五个文本框。我需要根据 Datatable.Rows.Count(1 到 4)从 DataTable 中插入值
-
听起来如果数据在 DataTable 中,DataGridView 会更合适也更容易。