Dim name1,name2,name3
Dim i
for i = 1 to 3
Me.Controls("name" & i) = i
next
每当我尝试执行此代码时,都会出现错误。可能是什么问题 ?
带着敬意,
南门。
Dim name1,name2,name3
Dim i
for i = 1 to 3
Me.Controls("name" & i) = i
next
每当我尝试执行此代码时,都会出现错误。可能是什么问题 ?
带着敬意,
南门。
您正在尝试将 分配给Integer
包含Control
s 的集合的成员,可能除了没有名为 的控件之外name1
,name2
或者name3
在表单上。如果它有助于理解,那么您根本不会访问Object
您在第一条语句中声明的三个类型变量:该Me.Controls
属性检索当前表单中的控件集合(假设此代码位于表单类中的某个位置)。
您似乎遗漏了一些概念,包括强类型和 WinForms 中常见类的结构,例如Control
. 我建议您从官方 MSDN演练开始。
在我看来,您有兴趣让控件说出TextBox1
并为其Text
属性分配一些值。以下示例可能会帮助您:
Dim name1,name2,name3
Dim i
for i = 1 to 3
Dim ctrl() as Control = Me.Controls.Find("TextBox" & i, true) ' Find control in all children controls
if(ctrl isNot nothing andAlso ctrl.Length > 0) then ' if there is a control found
Ctype(ctrl(0), Textbox).Text = i ' Assign its text property to ith value.
end if
next