gpt4 book ai didi

c# - 使用 C# 在文件中保存组合框值

转载 作者:太空宇宙 更新时间:2023-11-03 20:13:18 24 4
gpt4 key购买 nike

我正在编写一个小程序,它显示我的待办事项、优先级等。在这个程序中我有 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 因为它已经在另一个进程中启动了。

有人可以给我提示吗?

干杯

最佳答案

以下代码将实现您的目标。如果有效,请标记为答案。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;

namespace FileHandling
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

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");
}

using (StreamReader writer = new StreamReader(@"C:\Users\rs\Desktop\Test\test.txt"))
{
while (writer.Peek() >= 0)
{
combox_Name2.Items.Add(writer.ReadLine());
}
writer.Close();
}

}

private void btn_Save_Click(object sender, EventArgs e)
{
using (StreamWriter writer = new StreamWriter(@"C:\Users\rs\Desktop\Test\test.txt", true))
{
try
{
if (combox_Name2.Items.Contains(txt_Name.Text))
{
MessageBox.Show("The task '" + txt_Name.Text + "' already exist in list", "Task already exists");
}

else
{
combox_Name2.Items.Add(txt_Name.Text);
writer.WriteLine(txt_Name.Text);
writer.Flush();
writer.Dispose();
}
}

catch
{
MessageBox.Show("The file '" + txt_Name.Text + "' could not be located", "File could not be located");
}

}
}
}
}

关于c# - 使用 C# 在文件中保存组合框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18532510/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com