帮助使用数组将项目插入到vb.net文本框中
我仍然是一名学生,没有太多使用vb.net的经验,在将数组中的字符串拆分为2个值时遇到了一些问题。例如,在我的文本框中,我有几行长度x宽度的测量值:20x14、10x8、16x13。每个测量都在自己的线路上。我试图将所有大于12的宽度值拆分为两个单独的测量值,因此在最后一个示例中,我将有5个测量值(LxW):20x12、20x2、10x8、16x12、16x1,然后我想将这些测量值添加到一个新的文本框中,每个测量值都在自己的行上 这是我到目前为止的代码。再说一次,我对编程非常陌生,这是自“Hello World”以来我的第一个严肃项目,所以我所做的可能还远远不够。提前谢谢帮助使用数组将项目插入到vb.net文本框中,vb.net,arrays,textbox,listbox,Vb.net,Arrays,Textbox,Listbox,我仍然是一名学生,没有太多使用vb.net的经验,在将数组中的字符串拆分为2个值时遇到了一些问题。例如,在我的文本框中,我有几行长度x宽度的测量值:20x14、10x8、16x13。每个测量都在自己的线路上。我试图将所有大于12的宽度值拆分为两个单独的测量值,因此在最后一个示例中,我将有5个测量值(LxW):20x12、20x2、10x8、16x12、16x1,然后我想将这些测量值添加到一个新的文本框中,每个测量值都在自己的行上 这是我到目前为止的代码。再说一次,我对编程非常陌生,这是自“Hel
Dim room As String = RoomsTextBox.Text
If room.EndsWith(vbCrLf) Then room = room.Substring(0, room.Length - vbCrLf.Length)
Dim roomarray() As String = room.Split(vbCrLf)
Dim Cuts(roomarray.Length - 1, 0) As String
RoomsTextBox.Select(0, 0)
Dim CutLength As Integer
Dim CutWidth As Integer
Dim i As Integer
Dim j As Integer
CutsTextBox.Select()
Cuts(i, j) = (Val(roomarray(i).Split("x")(0))) & Val(roomarray(j).Split("x")(1))
For i = 0 To Cuts.GetUpperBound(0)
For j = 0 To Cuts.GetUpperBound(1)
Cuts(i, j) = 0
Next
If Val(roomarray(i)) > 12 Then
CutWidth = Val(roomarray(i)) - 12
CutLength = Val(roomarray(j))
Else
CutWidth = Val(roomarray(i))
CutLength = Val(roomarray(j))
End If
Dim inserttext = CutsTextBox.Text
Dim insertposition As Integer = CutsTextBox.SelectionStart
CutsTextBox.Text = CutsTextBox.Text.Insert(0, CutLength.ToString & "x" & _
CutWidth.ToString)
CutsTextBox.SelectionStart = insertposition + inserttext.Length
Next i
我甚至尝试将测量值插入列表框。以下是代码:
Dim room As String = RoomsTextBox.Text
Dim roomarray() As String = room.Split(vbCrLf)
Dim Cuts(roomarray.Length - 1, 0) As String
Dim CutLength As Integer
Dim CutWidth As Integer
Dim i As Integer
Dim j As Integer
CutsTextBox.Select()
Cuts(i, j) = (Val(roomarray(i).Split("x")(0))) & Val(roomarray(j).Split("x")(1))
For i = 0 To Cuts.GetUpperBound(0)
For j = 0 To Cuts.GetUpperBound(1)
Cuts(i, j) = 0
Next
If Val(roomarray(i)) > 12 Then
CutWidth = Val(roomarray(i)) - 12
CutLength = Val(roomarray(j))
Else
CutWidth = Val(roomarray(i))
CutLength = Val(roomarray(j))
End If
ListBox1.Items.Add(CutLength.ToString & "x" & CutWidth.ToString)
Next i
试试这个
Dim dimensions As String() = txtInput.Text.Split(vbCrLf)
Dim final As New List(Of String)
For Each item In dimensions
Dim lw As String() = item.Split("x")
Dim length As String = lw(0)
Dim width As Integer = CInt(lw(1))
If width > 12 Then
Dim new1 As String
Dim new2 As String
new1 = length & "x" & (width - 12).ToString
new2 = length & "x12"
final.Add(new1)
final.Add(new2)
Else
final.Add(item)
End If
Next
For Each item In final
txtOutPut.Text += item & vbCrLf
Next
那么,你有5个新的测量值吗,你只是停留在把它们添加到他们自己行的文本框上,还是你一直在获取测量值?谢谢杰克,这正是我想要的。我真的很感谢你的帮助。很抱歉刚才把它标记为接受的答案,我是这个网站的新手,不知道这意味着什么。再次感谢