我的文本框似乎随机重复

时间:2016-02-01 10:14:18

标签: c# combobox system.io.file

首次加载表单时,会创建一个文件夹

System.IO.Directory.CreateDirectory("Z:/Daniel/AccountInfo");

每当在程序中创建帐户时,都会在此位置创建一个文件

FileStream createAccountFile = new FileStream("Z:/Daniel/AccountInfo/" + lastNameBox.Text + "_" + firstNameBox.Text + ".txt", FileMode.CreateNew);

每当点击程序上的按钮时,文本都会附加到accountInfoText,并且其中的所有文本现在都会附加到上面创建的相同位置。

string addInfo = DateTime.Now.ToString("M/d/yyyy") + " - Email - Too Soon" + Environment.NewLine;
accountInfoText.AppendText(addInfo);
File.AppendAllText("Z:/Daniel/AccountInfo/" + lastNameInfoBox.Text + "_" + firstNameInfoBox.Text + ".txt", accountInfoText.Text);

每当组合框accountComboBox的索引发生变化时,之前写入的文件内部的所有文本现在都在accountInfoText

之内
string accountInfo = System.IO.File.ReadAllText("Z:/Daniel/AccountInfo/" + lastNameInfoBox.Text + "_" + firstNameInfoBox.Text + ".txt");
accountInfoText.Text = accountInfo;

问题是,在我按下执行追加的按钮后,当我继续从accountComboBox中选择一个不同的帐户时,accountInfoText内部和实际文本文件内部的文本会加倍。我无法看到触发它的原因。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

你追加两次:

addInfo

首先,您将accountInfoText附加到accountInfoText,然后将addInfo添加到您的文件中。由于该文件已经包含旧的accountInfoText,因此addInfo也是如此。所以它增加了一倍。

编辑:您可能只想将File.AppendAllText("Z:/Daniel/AccountInfo/" + lastNameInfoBox.Text + "_" + firstNameInfoBox.Text + ".txt", addInfo); 添加到文件中:

def require_admin
   redirect_to '/' unless current_user.admin
end