如何将多个文本框中的数据保存到C#中的文件(.txt)?

如何将多个文本框中的数据保存到C#中的文件(.txt)?,c#,C#,这是登记表的代码。当我输入数据并单击提交按钮时,文本框中的所有数据将保存到文件“AddUser.txt”,但当我第二次输入数据并单击提交按钮时,数据将覆盖到同一文件“AddUser.txt” 简单地说,我想在每次单击submit按钮时创建新的.txt文件,以便每个人的数据保存到单个.txt文件中 有什么办法吗?看看如何从文本框中获取数据 查看如何将数据保存到文件。解决方案1: 你必须定义什么样的输入值组合使人独一无二。我假设用户名使一个人独一无二,所以也许这就是解决方案: private voi

这是登记表的代码。当我输入数据并单击提交按钮时,文本框中的所有数据将保存到文件“AddUser.txt”,但当我第二次输入数据并单击提交按钮时,数据将覆盖到同一文件“AddUser.txt”

简单地说,我想在每次单击submit按钮时创建新的.txt文件,以便每个人的数据保存到单个.txt文件中

有什么办法吗?

看看如何从文本框中获取数据


查看如何将数据保存到文件。

解决方案1:

你必须定义什么样的输入值组合使人独一无二。我假设用户名使一个人独一无二,所以也许这就是解决方案:

private void AddUserSubmitButton_Click(object sender, EventArgs e)
    {
        try
        {
            FileStream AddUserData = new FileStream("AddUser.txt", FileMode.OpenOrCreate);
            using (StreamWriter AddUserDataWrite = new StreamWriter(AddUserData))
            {
                AddUserDataWrite.Write(DisplayNameTextBox + "\r\n");
                AddUserDataWrite.Write(UserNameTextBox.Text + "\r\n");
                AddUserDataWrite.Write(PasswordTextBox.Text + "\r\n");
                AddUserDataWrite.Write(ConfirmPasswordTextBox.Text + "\r\n");
                AddUserDataWrite.Write(DepartmentComboBox.Text + "\r\n");
                AddUserDataWrite.Write(DesignationTextBox.Text + "\r\n");
                AddUserDataWrite.Write(BasicSalaryTextBox.Text + "\r\n");
                AddUserDataWrite.Write(JoiningDateDateTimePicker.Text + "\r\n");
                AddUserDataWrite.Write(AgreeRadioButton.Text + "\r\n");
                AddUserDataWrite.Write(FirstNameTextBox.Text + "\r\n");
                AddUserDataWrite.Write(LastNameTextBox.Text + "\r\n");
                AddUserDataWrite.Write(FatherNameTextBox.Text + "\r\n");
                AddUserDataWrite.Write(MaleRadioButton.Text + "\r\n");
                AddUserDataWrite.Write(FemaleRadioButton.Text + "\r\n");
                AddUserDataWrite.Write(CNICNumberTextBox.Text + "\r\n");
                AddUserDataWrite.Write(ContactNumberTextBox.Text + "\r\n");
                AddUserDataWrite.Write(EmailAddressTextBox.Text + "\r\n");
                AddUserDataWrite.Write(DOBDateTimePicker.Text + "\r\n");
                AddUserDataWrite.Write(ResidentialAddressTextBox.Text + "\r\n");
                AddUserDataWrite.Write(CityTextBox.Text + "\r\n");
                AddUserDataWrite.Write(CountryTextBox.Text + "\r\n");
            }                                    
        }
        catch(Exception exc)
        {
            MessageBox.Show(exc.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);                
        }
    }
这将为每个用户创建一个单独的文件。如果用户选择了一个已经存在的用户名,则会覆盖上一个文件。因此,请确保对文件名使用唯一的用户属性组合

解决方案2:


还有另一种解决方案,您可以使用生成的唯一id来创建唯一的文件名。只需在文件名中添加一个UID,而不是用户名。请参见

如果您想从这里获得任何帮助,您必须更加具体。你已经试过什么了?你的方法是什么?示例代码?请告诉我如何在循环中使用文本框?指定您的问题并提供您使用的代码。否则没有人能真正帮助你。我已经编辑了这个问题,请看一看。你能告诉我如何在循环中使用textbox吗?这应该是这样的:
foreach(这个.Controls中的控件c){if(c.GetType().Name.ToString()==“textbox”){///Do something}
 var filename = string.Format("AddUser_{0}.txt", UserNameTextBox.Text);
 FileStream AddUserData = new FileStream(filename, FileMode.OpenOrCreate);
 // code for wrting the information comes here (as you already have in your code)