私はC#の初心者です。テキストボックスから読み込んでいる内容を複製しているこのリストボックスは私のプログラムにあります。 プログラムを起動するたびに、save.txtファイルの内容がリストボックスにロードされますが、それを実行すると、すべてのsave.txtコンテンツの複製がロードされます。内容をロードする前にリストボックスをクリアしようとしましたが、うまくいきません。私のプログラムは、入力ストリームをテキストボックスから複製しています。C#
は、ここに私のコードです:
private void readList()
{
string line;
listBox.Items.Clear(); //I tried to clear the listbox but it's not working
listBox.Items.AddRange(File.ReadAllLines(@"C:\Users\Paul.DESKTOP-HGGDG1D\Desktop\My C# apps\MyAgenda\MyAgenda\MyAgenda\bin\Debug\save.txt"));
using (StreamReader sr = new StreamReader("save.txt"))
while ((line = sr.ReadLine()) != null)
{
listBox.Items.Add(line);
}
}
public myAgenda()
{
InitializeComponent();
readList();
}
private void add_btn_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(add_txt.Text))
{
MessageBox.Show("Error: Please enter a value");
}
else
{
holder = add_txt.Text;
listBox.Items.Add(ctr + " " + holder);
ctr++;
add_txt.Text = " ";
}
}
private void button1_Click(object sender, EventArgs e)
{
const string sPath = "save.txt";
System.IO.StreamWriter SaveFile = new System.IO.StreamWriter(sPath);
foreach (var item in listBox.Items)
{
SaveFile.WriteLine(item);
}
SaveFile.Close();
Application.Exit();
}
は、それが再びストリーム全体を複製するか、単に人口なっているsave.txtのエントリが重複しているのですか? –