只是帮助解决这种情况:
listbox1在启动时从text.txt行加载项目
TextBox1的
addbutton可以将新项添加到textbox1的列表框数据中
removebutton可以删除项目lisbox
我只删除addbutton添加的项目,但我无法删除从txt文件加载的项目 任何简单的Winform?感谢
答案 0 :(得分:1)
您的问题范围有点广泛,不确定您是否只想知道如何删除项目,添加项目或从文本文件添加项目。我将解决前两个问题。您想要的两个函数都是ListBox的项ObjectCollection
的一部分。这是一个简单的示例,说明如何将文本框的文本添加到列表框以及如何删除ListBox的SelectedItem。
private void AddItem_Click(object sender, EventArgs e)
{
listBox1.Items.Add(textBox1.Text);
}
private void RemoveItem_Click(object sender, EventArgs e)
{
listBox1.Items.Remove(listBox1.SelectedItem);
}
回复您的评论,您可以随时测试该项目的存在,然后将其删除。这段代码也适用于我。
private void button3_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(textBox1.Text))
{
if (listBox1.Items.Contains(textBox1.Text))
{
listBox1.Items.Remove(textBox1.Text);
}
}
}
答案 1 :(得分:0)
很难理解你真正想要的东西,但这是一个例子:
private void Form1_Load(object sender, EventArgs e)
{
// load text file lines into listBox
string[] lines = File.ReadAllLines("yourFileFromWorkingDirectory.txt");
foreach (string s in lines)
{
listBox1.Items.Add(s);
}
}
private void button2_Click(object sender, EventArgs e)
{
// add new line from textBox
if (textBox1.Text != String.Empty) { listBox1.Items.Add(textBox1.Text); }
}
private void button1_Click(object sender, EventArgs e)
{
// remove selected line in listBox
listBox1.Items.Remove(listBox1.SelectedItem);
}
您可以使用此方法从文本文件加载数据,并从listBox中删除不需要的行。如果你愿意,你可以走得更远:
private void button3_Click(object sender, EventArgs e)
{
// save listBox into text file
using(StreamWriter writer = new StreamWriter("yourFileFromWorkingDirectory.txt"))
{
foreach (string s in listBox1.Items)
{
writer.WriteLine(s);
}
}
}
这将保存listBox中的所有内容。我希望它有所帮助。