テキスト ファイルから特定の行を読み取り、テキスト ボックスに表示するアプリケーションを作成したいと考えています。行は、リストボックスの選択数に応じて選択されます。
コードは次のとおりです。
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i As Integer
For i = 0 To Me.CheckedListBox1.CheckedIndices.Count - 1
Me.CheckedListBox1.SetItemChecked(Me.CheckedListBox1.CheckedIndices(0),False)
Next i
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If CheckedListBox1.CheckedItems.Count <> 0 Then
Dim reader As New System.IO.StreamReader(CurDir() & "\" & "READ.txt")
Dim x As Integer
Dim s As String = ""
For x = 0 To CheckedListBox1.CheckedItems.Count - 1
s = s & "Answer " & (x + 1).ToString & ") " & CheckedListBox1.CheckedItems(x).ToString & ControlChars.CrLf & reader.ReadLine() & ControlChars.CrLf & ControlChars.CrLf
Next x
Answer.Text = (s)
Else
MessageBox.Show("Please select questions.", "Error", _
MessageBoxButtons.OK, _
MessageBoxIcon.Information)
Return
End If
End Sub
End Class
だから、チェックされたリストボックスから1番目、2番目、5番目の項目を「チェック」すると、テキストファイルから1行目、2行目、5行目のテキストを読み込んでテキストボックスに表示したいとします。
現在のコードは、「チェック」した項目に関係なく、1 行目、2 行目、3 行目 (...) を順番に読み取るだけです。