首页 > 解决方案 > 两个文本框相交每一行 vbcrlf

问题描述

Textbox1.Lines =

2
4
11
13
19
21

Textbox2.Lines =

3
5
14
17
26
29

在输出(Textbox3.text)我想要以下问题:

2 3
4 5
11 14
13 17
19 26
21 29

那么我该如何让它工作呢?

Dim linesx() As String = TxtStringNumP1.Lines
        Dim linesy() As String = TxtStringNumP2.Lines
        For x As Integer = 1 To linesx.Length - 1
            For y As Integer = 1 To linesx.Length - 1
                Dim strWords1 = linesx(y).Split(",")
                Dim strWords2 = linesy(y).Split(",")
                TextBoxO1.Text &= Val(strWords1(0)) + vbCrLf + Val(strWords2(0) & vbNewLine)
            Next
        Next

标签: vb.net

解决方案


删除,vbCrLf因为您不希望在第一个值和第二个值之间有新行。然后,您也不想要第二个循环,否则您将多次循环这些值。如果它们不包含逗号,您也不需要用逗号分隔值

最后,该值需要附加到已经存在的文本中,TextBox01否则它的值将被替换。TextBox01.Clear()确保一开始它是空的。

    TextBox01.Clear()

    Dim linesx() As String = TxtStringNumP1.Lines
    Dim linesy() As String = TxtStringNumP2.Lines

    For x As Integer = 0 To linesx.Length - 1
        Dim strWords1 As String = linesx(x)
        Dim strWords2 As String = linesy(x)

        TextBoxO1.Text = TextBoxO1.Text & strWords1 & " " & strWords2 & vbCrLf
    Next

上面的代码假设两个文本框的行数相同。如果不是这种情况,您需要先检查一行是否存在,然后再尝试将其分配给您的strWords变量之一。您还需要循环到 2 个中较大的一个Lines.Length


推荐阅读