[英]Why i can't pass data from form textbox to form textbox inside panel VB.NET
[英]Why I can't reference textbox name vb.net
我想将数组中的值添加到每个文本框。
这是我的代码:
For i as int32 = 0 To Array.length - 1
Me.Controls("TextBox" & i + 1).Text = Array(i)
Next
当我运行上面的代码时,我收到了 NullReferenceException 错误。
错误行是:
Me.Controls("TextBox" & i + 1).Text = Array(i)
我从网上搜索后尝试了另一个代码,
For i as int32 = 0 To Array.length - 1
Dim c as Control() = Me.Controls.Find("TextBox" & i + 1 , True)
If c.Length = 1 Then
Me.Controls("TextBox" & i + 1).Text = Array(i)
End If
Next
但它仍然不起作用。 请帮帮我...先谢谢了。
如果 Find 没有找到结果,则它可以返回 Null(无),这会导致您的空引用异常。
至于枚举/循环你的文本框控件:
尝试在控件集合上使用 foreach 显式循环它们
For Each control In Me.Controls
If control.GetType() Is GetType(TextBox) Then
'Do stuff to control.
End If
Next
您现在使用的尝试映射到控件名称的过程将不会具有很强的适应性,特别是如果其他人来了很长时间并更改了控件的名称。
如果您只想更新一组特定的文本框,您可以将它们放在表单的面板中,并使用上述相同的方法循环浏览面板的控件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.