Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 删除列表框项_C# - Fatal编程技术网

C# 删除列表框项

C# 删除列表框项,c#,C#,只需帮助解决这个问题: listbox1在启动时从text.txt行加载项目 textbox1 addbutton可以从textbox1向列表框数据添加新项目 removebutton可以删除项目列表框 我只是删除addbutton添加的项目,但无法删除从txt文件加载的项目 有简单的Winform吗?谢谢您的问题范围有点广,不确定您只是想知道如何从文本文件中删除项目、添加项目或添加项目。我将谈到前两个问题。您需要的两个函数都是ListBox项的一部分。这是一个关于如何将文本框的文本添加到列表框

只需帮助解决这个问题:
listbox1在启动时从text.txt行加载项目
textbox1
addbutton可以从textbox1向列表框数据添加新项目
removebutton可以删除项目列表框

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

您的问题范围有点广,不确定您只是想知道如何从文本文件中删除项目、添加项目或添加项目。我将谈到前两个问题。您需要的两个函数都是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);
        }
    }
}

很难理解你真正想要什么,但这里有一个例子:

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);
}
您可以使用此选项从文本文件加载数据,并从列表框中删除不需要的行。如果您愿意,您可以更进一步:

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

这将保存列表框中的所有内容。希望有帮助。

有什么问题吗?对不起。我已经在msdn中解决了我的问题,是的,我知道。我在列表框中添加了从文本文件加载的项目,但我无法删除此列表框中的任何项目,因此如果您有任何想法,请帮助确保您要删除的项目已被选中,我只是做了一个测试,它将以某种方式删除SelectedItem,你能为这个应用程序使用数据源或数据绑定吗?你必须编辑一些行,但它背后的主要思想是相同的。我以前从未使用过这些类,所以我不能给你一个例子。