private void btnClear_Click(object sender, EventArgs e)
{
txtInput.Text = "";
txtOutput.Text = "";
mainList.Clear();
}
private void btnAdd_Click(object sender, EventArgs e)
{
StreamWriter outputFile;
outputFile = File.AppendText("texter.txt");
outputFile.WriteLine(txtInput.Text);
outputFile.Close();
List<String> mainList = new List<String>();
StreamReader inputFile;
inputFile = File.OpenText("texter.txt");
while (inputFile.EndOfStream == false)
{
mainList.Add(inputFile.ReadLine());
}
inputFile.Close();
for (int i = 0; i < mainList.Count; i++)
{
txtOutput.Text += Environment.NewLine + mainList[i];
}
}
这几乎是我的整个程序,特别是这个列表让我烦恼。当我点击添加时,它会将列表中的每个条目放入文本框中。关闭表单本身不会清除列表,也不会清除我的清除按钮。
答案 0 :(得分:0)
从评论中可以清楚地看到,您将全局变量mainList
定义为List<String> mainList = new List<String>();
然后在Add_button点击内,您将创建另一个列表(对btnAdd_Click具有本地scope)并且将项目添加到列表中。这个变量在btnClear_Click
中不可用所以实际上这里发生的是将值添加到一个列表并清除另一个列表。
你能做的是:
List<String> mainList = new List<String>();
移除btnAdd_Click
。mainList = new List<String>();
中使用btnAdd_Click
代替List<String> mainList = new List<String>();
。然后你的代码片段将按预期工作。答案 1 :(得分:0)