0

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

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和内部的文本中选择不同的帐户时,会加倍。我还没有看到是什么触发了它。

感谢所有的帮助!

4

1 回答 1

0

你追加两次:

accountInfoText.AppendText(addInfo);
File.AppendAllText("Z:/Daniel/AccountInfo/" + lastNameInfoBox.Text + "_" + firstNameInfoBox.Text + ".txt", accountInfoText.Text);

首先将您附加addInfoaccountInfoText,然后添加accountInfoText到文件中。由于文件已经包含旧的addInfo,所以你的accountInfoText. 所以它是双倍的。

编辑:您可能只想添加addInfo到文件中:

File.AppendAllText("Z:/Daniel/AccountInfo/" + lastNameInfoBox.Text + "_" + firstNameInfoBox.Text + ".txt", addInfo);
于 2016-02-01T10:22:19.857 回答