2016-12-21 2 views
-1

私は文章をコピーしたテキストボックス(tInto1)を持っています。私はそれらの位置に基づいて単語をコピーする10のテキストボックスを持っています(つまり、1ワード目がtextbox1に、2ワード目がtextbox2に、3ワード目がテキストボックス3に、最後のワードが最後のテキストボックスにコピーされます)。以下のコードは、その位置に基づいて、文中の単語の数を示しますが、単語の数は私に与えません。vb.netは、文章中の位置に基づいてテキストボックスに単語をコピーします。

`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` 

大変助かります。

答えて

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 
+0

は、@genesposをありがとうございました。問題を解決するために、エラーメッセージが表示されていました。 ** "'Textbox 11'に挿入中にエラーが発生しました。**。** (私は文章で10のフィールドを持っているので、10のテキストボックスを使用する必要があります_)。もう一度ありがとう。 – MordC

+0

これを避けるために、私は限界変数を使用しました。それを9に設定しましたか? – genespos

+0

迅速な改変をありがとうございます。残念ながら、それは問題を解決しませんでした。 「Textbox11」に挿入中に、まだ**エラーです。 – MordC

関連する問題