帮助使用数组将项目插入到vb.net文本框中

帮助使用数组将项目插入到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

我仍然是一名学生,没有太多使用vb.net的经验,在将数组中的字符串拆分为2个值时遇到了一些问题。例如,在我的文本框中,我有几行长度x宽度的测量值:20x14、10x8、16x13。每个测量都在自己的线路上。我试图将所有大于12的宽度值拆分为两个单独的测量值,因此在最后一个示例中,我将有5个测量值(LxW):20x12、20x2、10x8、16x12、16x1,然后我想将这些测量值添加到一个新的文本框中,每个测量值都在自己的行上

这是我到目前为止的代码。再说一次,我对编程非常陌生,这是自“Hello World”以来我的第一个严肃项目,所以我所做的可能还远远不够。提前谢谢

    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个新的测量值吗,你只是停留在把它们添加到他们自己行的文本框上,还是你一直在获取测量值?谢谢杰克,这正是我想要的。我真的很感谢你的帮助。很抱歉刚才把它标记为接受的答案,我是这个网站的新手,不知道这意味着什么。再次感谢