2016-02-28 213 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)(使用&=而不是=),虽然在这种情况下,你可能还想添加某种分隔符。