删除列表框项

时间:2013-12-20 05:10:55

标签: c#

只是帮助解决这种情况:
listbox1在启动时从text.txt行加载项目 TextBox1的
addbutton可以将新项添加到textbox1的列表框数据中 removebutton可以删除项目lisbox

我只删除addbutton添加的项目,但我无法删除从txt文件加载的项目 任何简单的Winform?感谢

2 个答案:

答案 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中的所有内容。我希望它有所帮助。