Запись и чтение в несколько текстовых полей из одного TXT-файла. C # - PullRequest
0 голосов
/ 23 октября 2019

Я делаю программу, которая может сохранять данные из одного комбинированного списка и двух текстовых полей. При открытии программы сохраненные данные (в текстовом файле) должны автоматически открываться в Combobox с текстом, который был сохранен как текстовый файл. Также должна быть одна кнопка открытия, которая может открыть другой текстовый файл (если кто-то сделал резервную копию), и кнопка удаления, которая может удалить выбранные «данные», выбранные в выпадающем списке.

Другими словами,если я сохраню «Combobox: тест 1», «Textbox1: тест 2», «Textbox: тест 3», а затем сохраню другие данные «Combobox: test a», «Textbox1: test b», «Textbox: test c». При перезапуске программы Combobox должен иметь «test 1» и «test a», из которых можно выбрать.

Единственная функция, которую я могу получить, - это сохранение txt-файла, но только открыть весь текст втот же ряд (ведьма я не хочу). Если это невозможно с txt-файлом, это также работает, если кто-то может показать мне, как сделать это с XML-файлом.

using System.IO;

namespace openclose
{
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void button2_Click(object sender, EventArgs e)
    {
        string nl = "\r\n";
        TextWriter txt = new StreamWriter("test.txt");
        txt.Write((comboBox1.Text) + nl + (textBox1.Text) + nl + (textBox2.Text));
        txt.Close();

    }

    private void button1_Click(object sender, EventArgs e)
    {
        textBox1.Text = File.ReadAllText("test.txt");
        textBox2.Text = File.ReadAllText("test.txt");
        comboBox1.Text = File.ReadAllText("test.txt");
    }

    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
    }

    private void textBox1_TextChanged(object sender, EventArgs e)
    {

    }

    private void textBox2_TextChanged(object sender, EventArgs e)
    {

    }
}
}

Я также попытался изменить кнопку «save»вместо этого он сохраняет. Но я не могу понять, как сделать так, чтобы сохраненные данные отображались в выпадающем списке, чтобы я мог вернуть данные в textbox1 и textbox2.

        string path = @"Test.txt";

        if (!File.Exists(path))
        {
            // Create a file to write to.
            string createText = "";
            File.WriteAllText(path, createText, Encoding.UTF8);
        }

        string appendText = comboBox1.Text + Environment.NewLine + textBox1.Text + Environment.NewLine + textBox2.Text + Environment.NewLine;
        File.AppendAllText(path, appendText, Encoding.UTF8);

        string readText = File.ReadAllText(path);
        Console.WriteLine(readText);
...