C# 如何将Windows窗体中的所有数据写入.txt文件?

C# 如何将Windows窗体中的所有数据写入.txt文件?,c#,winforms,C#,Winforms,我正在创建一个小型会员类型表单。它由1个表格组成,内有以下内容: 4个分组框-每个分组框内有两个文本框、单选按钮和复选框 在页面底部,我有一个注册按钮,它应该捕获我指定的所有复选框、单选按钮和文本 private void Bregister_Click(object sender, EventArgs e) { TextWriter txt = new StreamWriter("member.txt"); txt.Write("First Name:" + tfirstn.T

我正在创建一个小型会员类型表单。它由1个表格组成,内有以下内容:

4个分组框-每个分组框内有两个文本框、单选按钮和复选框

在页面底部,我有一个注册按钮,它应该捕获我指定的所有复选框、单选按钮和文本

private void Bregister_Click(object sender, EventArgs e)
{
    TextWriter txt = new StreamWriter("member.txt");
    txt.Write("First Name:" + tfirstn.Text "\r\n" + "Last Name:" + tlastn.Text "\r\n" + "Address:" + taddr.Text "\r\n" + "Mobile Number:" + tmobi.Text "\r\n" + "Recucrring Payment Amount:" + trpa.Text "\r\n" + "Account Number:" + taccnbr.Text "\r\n" + "Frequency:" + rweek.Text "\r\n" + DateTime.Today.ToString());
    txt.Close();
}

从技术上讲,您错过了几个
+

 ("First Name:" + tfirstn.Text "\r\n" + "Last Name:" + tlastn.Text "\r\n" ....
                              ^                                   ^
                              Here and here should be pluses +
我建议:

  • 字符串的帮助下组织所有行。加入
    (可读性)
  • 在任何地方使用相同的格式(可维护性)-
    日期:
    已添加
  • 使用日期时,让我们指定格式(因为它依赖于区域性)
  • 让我们摆脱流,使用simple
    File.WriteAllText
  • 让我们分开UI(
    b注册_单击
    )和业务逻辑(保存数据)
  • 代码:


    问题出在哪里?您的问题是什么?如果您使用数据绑定,您可以拥有一个表单控件绑定到的模型,然后简单地将该模型序列化为JSON(或类似格式)。不管是哪种方式,您当前的代码看起来都应该正常工作。不是吗?
    File.writealText(“member.txt”,“First Name:+tfirstn.Text+”\r\n“+”Last Name…);
    “不清楚你在问什么。请澄清您的具体问题或添加其他详细信息,以突出显示您所需的内容。正如目前所写的,很难准确地说出你在问什么。请参见帮助澄清此问题的页面。“这是一个很接近的原因,我认为这适用于这里。对不起,伙计们,我想应该用更好的措辞。当我单击“注册”按钮时,它并没有将所有信息写入txt文件。
    private void SaveData(string fileName) {
      string data = string.Join(Environment.NewLine,
        $"First Name:               {tfirstn.Text}", 
        $"Last Name:                {tlastn.Text}",  
        $"Mobile Number:            {tmobi.Text}",   
        $"Recurring Payment Amount: {trpa.Text}", // Typo? "Recucrring"
        $"Account Number:           {taccnbr.Text}",
        $"Frequency:                {rweek.Text}",
        //DONE: added name - "Date" and Date format
        $"Date:                     {DateTime.Today.ToString("dd.MM.yyyy")}" 
      );
    
      // Or File.AppendAllText if you don't want to rewrite file if it exists
      File.WriteAllText(fileName, data);
    }    
    
    private void Bregister_Click(object sender, EventArgs e) {
      SaveData("member.txt");
    }