vb.net根据句子中的位置将单词复制到文本框中

时间:2016-12-21 09:57:00

标签: arrays vb.net for-loop readline

我有一个文本框(tInto1),我已将一个句子复制到。我有10个文本框根据它们的位置复制单词(即第一个单词进入textbox1,第二个单词进入textbox2,第三个单词进入文本框3,直到最后一个单词被复制到最后一个文本框中)。下面的代码根据其位置给出了句子中单词的数量而不是单词的数量。

`Dim miLine As String
 Dim i As Integer
 Dim MiArray() As String
 miLine = tInto1.Text
 MiArray = DisLine.Split(" ")

 For i = 0 To UBound(MiArray)
        if i=0 then 
        txtbox1.text = i

        elseif i=2 then
        textbox2.text = i

        elseif i=3 then
        textbox3 = i
        .
        .
        . 'for the other 6 elseif statements.
        else 
        textbox10 = i
 Next`

非常感谢帮助。

1 个答案:

答案 0 :(得分:2)

如果你的文本框是用数字命名的,你可以尝试这样的事情:

Private Sub Btn_SplitToTextBoxes_Click(sender As Object, e As EventArgs) Handles Btn_SplitToTextBoxes.Click
    Dim Sentence As String = "This is a Test sentence"
    Dim Words() As String = Sentence.Split(CChar(" "))
    'You need to set a limit to operate only on TextBoxes 1 to 10
    Dim Limit As Integer = If(Words.Count <= 10, Words.Count -1, 9)
    For i As Integer = 0 To Limit
        Try
            Me.Controls("TextBox" & (i + 1).ToString).Text = Words(i)
        Catch ex As Exception
            MessageBox.Show("Error while inserting text into 'TextBox" & (i + 1).ToString & "'", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit For
        End Try
    Next
End Sub