将文本文件中的特定行显示到文本框中c#

时间:2017-10-08 06:45:02

标签: c# winforms

我需要在特定的文本框中显示ProductData.txt的部分内容。用户必须首先输入产品密钥以检查产品是否存在,如果存在,它将显示有关产品的部分信息,例如其名称,类型和品牌。如果产品密钥不存在,则会显示messagebox: item key not found。我的问题是显示的数据始终是第一行。如何显示找到产品密钥的行?

CODE SNIPPET

        string plist = @"ProductData.txt";
        string s_temp = @"stock_temp.txt";

        string[] dataline = File.ReadAllLines(plist);
        if (File.ReadAllText(plist).Contains(txt_pk.Text))
        {
            using (StreamWriter w = File.AppendText(s_temp))
            {
                foreach (var line in dataline)
                {
                    if (line.Contains(txt_pk.Text))
                    {
                        txt_pk.ReadOnly = true;

                        string fileData = File.ReadAllText(plist);
                        string[] parts = fileData.Split(',');

                        txt_pn.Text = parts[2];
                        cmb_brand.Text = parts[3];
                        cmb_type.Text = parts[4];
                    }
                }
                w.Close();
            }
        }
        else
            MessageBox.Show("Item Key not found!");

示例数据

  

项目密钥,添加日期,产品名称,品牌,类型

     

0001,10 / 08 / 2017,5s,苹果,电话

     

0002,10 / 08/2017,S5,三星,电话

1 个答案:

答案 0 :(得分:2)

string[] parts = line.Split(','); 

您需要拆分该行,而不是再次读取该文本文件。

专业提示:给调试一个步骤并逐步执行代码(按 F11