将文本文件的某些行放入可编辑的列表框中

本文关键字:编辑 列表 文件 文本 | 更新日期: 2023-09-27 17:50:30

所以我想把某些行放到一个文本框中,假设我使用"Search Function"来搜索交易ID,它会通过transactions.txt文件查找交易ID,并读取它下面显示交易详细信息的6行,一旦找到,就会转到列表框,然后你可以编辑交易。

我想知道你会使用循环和数组来做到这一点,谁能告诉我怎么做,谢谢!

下面是我当前的代码:

  //Creates a textfile with details of the transaction
    public void CreateFile()
{
     StreamWriter outputFile;
        outputFile = File.AppendText("Transactions.txt");
        outputFile.WriteLine("Investor :" +" " + InvestorNameLabel.Text);
        outputFile.WriteLine("Initial Amount" + " " +AmountLabel.Text);
        outputFile.WriteLine("Date Invested" +" " +DateLabel.Text);
        outputFile.WriteLine("Period Chosen" + " "+DaysInvestedLabel.Text);
        outputFile.WriteLine("Rate Chosen" + " " + RateLabel.Text);
        outputFile.WriteLine("Total Interest" + " " +InterestAmountLabel.Text);
        outputFile.WriteLine("Transaction Number :" + " " + TransactionIDLabel.Text);
        outputFile.Close();
        MessageBox.Show("Transaction file for Transaction: " + TransactionIDLabel.Text + " " +"Was Created", "Transaction File");
       }
       //puts all transactions in listbox
       //needs to be able to find certain transactions
        private void button1_Click(object sender, EventArgs e)
    {
        using (StreamReader sr = new StreamReader("transactions.txt"))
        {
            string line;
            while ((line = sr.ReadLine()) != null)
            {
                listBox1.Items.Add(line);
            }
        }
    }

将文本文件的某些行放入可编辑的列表框中

Try This:

string ID = "23";
bool idFound=false;
int count = 0;
foreach (var line in File.ReadLines("transactions.txt"))
{
    if (idFound  && count < 6)
    {
        listBox1.Items.Add(line);
        count++;
    }
    if(line.Contains(ID))//if you wantto match exactly use if(line.Equals(ID))
    {
        idFound = true;
    }
}