2016-02-28 205 views
0

我試圖將文本文件中的特定行輸出到數組中,其中每個Button將生成不同的行。例如,Button1應輸出文本文件中的第一行,Button2應輸出文本文件中的第二行。將文本文件寫入數組並讀取特定行VB

文本文件:



橙色
綠色

當我按下Button1我得到的TextBox( 「紅樓夢」)的第一行然而,當我按Button2我仍然得到「紅色」。

Code

Public Class Form1 
    Dim i As Integer 
    Dim character As String = "" 

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click 
     i = 0 
     readfile() 
     TextBox1.Text = TextBox1.Text + character 
    End Sub 

    Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click 
     i = 1 
     readfile() 
     TextBox1.Text = TextBox1.Text + character 
    End Sub 

    Sub readfile() 
     Dim SR As New StreamReader("Colours.txt") 
     Dim Characters(3) As String 
     Do Until SR.Peek = -1 
      character = SR.ReadLine 
      Characters(i) = character 
     Loop 
     SR.Close() 
    End Sub 
End Class 
+0

你能修復你的代碼格式嗎?什麼是「角色()」......它似乎並沒有用於任何事情?您的文本文件是單行文本,每行4個單詞或4行,每個單詞1個單詞? –

+0

抱歉,我的文本文件是4行,每行1個字 – DontJudgeMyBadCodePls

回答

1

我建議使用File.ReadAllLines讀取行文本文件導入形式的Load事件String陣列。然後您的Button.Click事件可以將需要的行復制到TextBox

Public Class Form1 
    Private lines() As String 

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
     lines = IO.File.ReadAllLines("Colours.txt") 
    End Sub 

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
     TextBox1.Text = lines(0) 
    End Sub 

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click 
     TextBox1.Text = lines(1) 
    End Sub 
End Class 

在你的問題,它如果你想只是存儲在TextBox選擇的線路,或追加行至TextBox目前尚不清楚。如果你想追加,你可以使用TextBox1.Text &= lines(0) 'or lines(1)(使用&=而不是=),雖然在這種情況下,你可能還想添加某種分隔符。