我正在编写一个小程序,它显示我的待办事项、优先级等。在这个程序中,我有 2 个选项卡:选项卡 1 用于创建新的待办事项,另一个选项卡用于显示当前的待办事项。因此,当我在选项卡 1 的文本框中输入一些文本并单击“保存”按钮后,它应该将其保存在选项卡 2 的组合框中。当我重新启动程序时,它仍然应该被保存。谷歌告诉我用一个文件来做这件事,这样我就可以把它保存到一个文件中。我找到了一个短代码,我针对我的程序进行了调整。在这里你可以看到我的代码:
private void Form1_Load(object sender, EventArgs e)
{
// Check if directory exists
if (Directory.Exists(@"C:\Users\rs\Desktop\Test\)"))
{
// Do nothing
}
else
{
Directory.CreateDirectory(@"C:\Users\rs\Desktop\Test\");
}
if (File.Exists(@"C:\Users\rs\Desktop\Test\test.txt"))
{
// Do nothing
}
else
{
File.Create(@"C:\Users\rs\Desktop\Test\test.txt");
}
StreamReader sr = new StreamReader(@"C:\Users\rs\Desktop\Test\test.txt");
while (sr.Peek() >= 0)
{
combox_Name2.Items.Add(sr.ReadLine());
}
sr.Close();
}
private void btn_Save_Click(object sender, EventArgs e)
{
StreamWriter writer = new StreamWriter(@"C:\Users\rs\Desktop\Test\test.txt", true);
try
{
Process.Start(combox_Name2.Text, txt_Name.Text);
if (combox_Name2.Items.Contains(txt_Name.Text))
{
// Do nothing
}
else
{
writer.WriteLine(combox_Name2.Text);
writer.Flush();
writer.Dispose();
combox_Name2.Items.Add(txt_Name.Text);
}
}
catch
{
MessageBox.Show("The file '" + txt_Name.Text + "' could not be located", "File could not be located");
}
}
而我现在的问题是:每次我启动程序,在文本框中输入一些文本并点击保存按钮,就会出现在线错误
StreamReader sr = new StreamReader(@"C:\Users\rs\Desktop\Test\test.txt");
VS2012说进程无法继续,C:\Users\rs\Desktop\Test\test.txt
因为它已经在另一个进程中启动了。
有人可以给我一个提示吗?
干杯