在组合框中显示文本文件的每一行,编辑并仅保存更改的部分

Show a text file's every line in combobox,edit and save back only the changed part

我有一个这样的文本文件:

0124456, 10000,2
0124434, 10001,1
0126234, 10002,2

它大约有 60-70 行。我想将 "0124456" 、 "0124434" 和 "0126234" 添加到组合框项目。我只能用 richtextbox 来做到这一点。它逐行显示直到“,”但是当我保存它时它只逐行保存“0124456”,“0124434”和“0126234”并且摆脱了“10000,2”等

我的保存代码如下所示:

        SaveFileDialog svf = new SaveFileDialog();
        svf.Filter = "Text files (.csv)|*.csv";
        svf.Title = "Save file...";
        if (svf.ShowDialog() == DialogResult.OK)
        {
            StreamWriter sw = new StreamWriter(svf.FileName);
            string[] lines = richTextBox1.Text.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
            foreach (var line in lines)
            {
                sw.Write(line, Environment.NewLine);
            }
            richTextBox1.Clear();
            sw.Close();
        } 
//and my open-read code is this:
        OpenFileDialog ofd = new OpenFileDialog();
        ofd.Filter = "Text files (.csv)|*.csv";
        ofd.Title = "Open a file...";
        if (ofd.ShowDialog() == DialogResult.OK)
        {
            StreamReader sr = new StreamReader(ofd.FileName);
            string currentLine;
            while ((currentLine = sr.ReadLine()) != null)
            {
                if (currentLine == null)
                {
                    break;
                }
                else
                {
                    string[] adat = currentLine.Split(',');
                    richTextBox1.AppendText(adat[0] + Environment.NewLine);
                }
            }
            sr.Close();
        }

所以我的目的是打开 csv 文件并将第一个 "words" 添加到组合框项目,在我编辑它们之后我只保存编辑的 "word".

提前致谢!

您好,您的问题出在打开文件时,因为您在富文本框中只显示了第一部分,而这就是被保存回来的部分

richTextBox1.AppendText(adat[0] + Environment.NewLine);

如果要保存所有行,则必须全部显示。