[英]Add lines of a multiline textbox into a string / array VB.NET
我应该将 txtstringnump1 替换为最多 20 个文本框,它会创建一个列表,可以在其中写入值,直到还有一个文本框。 我该怎么做呢?
Dim AllNumbers1 As New List(Of IEnumerable(Of ArrayList))
Dim str As String
'Set your string value
For i As Integer = 0 To Globals.TBIntDrawsXCount - 1
str = TxtBoxIntDrawsX.Lines(i)
'Define new string array containing elements of str divided by space..
Dim strWords As String() = str.Split(",")
Dim myArr As Integer() = strWords(0).ToString
TxtStringNumP1.Text &= strWords(0) & Environment.NewLine
TxtStringNumP2.Text &= strWords(1) & Environment.NewLine
TxtStringNumP3.Text &= strWords(2) & Environment.NewLine
TxtStringNumP4.Text &= strWords(3) & Environment.NewLine
TxtStringNumP5.Text &= strWords(4) & Environment.NewLine
TxtStringNumP6.Text &= strWords(5) & Environment.NewLine
TxtStringNumP7.Text &= strWords(6) & Environment.NewLine
TxtStringNumP8.Text &= strWords(7) & Environment.NewLine
TxtStringNumP9.Text &= strWords(8) & Environment.NewLine
TxtStringNumP10.Text &= strWords(9) & Environment.NewLine
TxtStringNumP11.Text &= strWords(10) & Environment.NewLine
TxtStringNumP12.Text &= strWords(11) & Environment.NewLine
TxtStringNumP13.Text &= strWords(12) & Environment.NewLine
TxtStringNumP14.Text &= strWords(13) & Environment.NewLine
TxtStringNumP15.Text &= strWords(14) & Environment.NewLine
TxtStringNumP16.Text &= strWords(15) & Environment.NewLine
TxtStringNumP17.Text &= strWords(16) & Environment.NewLine
TxtStringNumP18.Text &= strWords(17) & Environment.NewLine
TxtStringNumP19.Text &= strWords(18) & Environment.NewLine
TxtStringNumP20.Text &= strWords(19) & Environment.NewLine
Next
TextBox
的Lines
属性是一个行数组。 当您阅读TextBox
class 的文档时,您应该已经看到了这一点,您应该在此处发布之前完成这些操作。
此代码将行添加到后续文本框。 当到达最后一个文本框时,它会从第一个文本框重新开始:
Dim tbIndex As Integer = 0
Dim lines As String() = TxtBoxIntDrawsX.Lines
For i As Integer = 0 To Globals.TBIntDrawsXCount - 1
Dim str = lines(i)
Dim strWords As String() = str.Split(","c)
For Each word As String In strWords
Dim tb = DirectCast(Controls.Item("TxtStringNumP" & (tbIndex + 1)), TextBox)
tb.Text &= word & Environment.NewLine
tbIndex = (tbIndex + 1) Mod 20
Next
Next
我正在使用两个技巧:
Controls
集合中按名称查找文本框。我不确定这是否是您需要的。 如果您需要其他内容,请提供更好的描述。
注意:根据@jmcilhinney 的建议更新。 lines 数组存储在循环之前,以避免每次由 TextBox 创建一个新数组。
此代码假定所需的行数可用。 如果 TextBox 不包含足够的行,则行Dim str = lines(i)
将生成索引越界异常。 通过适当的检查,代码会更加健壮。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.