防止列表框中出现重复条目

Nat*_*tat 0 c# listbox

我的 C# 代码遇到问题..

我想用这段代码做的是,当我从文本框中输入具有相同符号(相同名称)的内容时,它显示我无法将其添加到列表框中两次或多次。所以我编写了这段代码:

void Btn_addClick(object sender, EventArgs e)
{
    string thelist = listBox1.Text;
    string text = textBox1.Text;

    if(text == thelist) 
    {
        MessageBox.Show("This name already exists!");
    }
    else
    {
        listBox1.Items.Add(textBox1.Text);
        textBox1.Text = "";
    }   
}
Run Code Online (Sandbox Code Playgroud)

但问题是,只有当我从列表中选择名称并从文本框中进行比较时,它才会显示消息框。如果我不选择任何内容或其他单词,它会添加相同的单词而不告诉它已经存在。

Eva*_*n L 5

您正在尝试将您的TextBox.Text与整个ListBox. 您可能想知道其中是否ListBox 包含您正在输入的文本。

下面将很容易达到你想要的结果:

void Btn_addClick(object sender, EventArgs e)
{
    if(listBox1.Items.Contains(textBox1.Text)) 
    {
        MessageBox.Show("This name already exists!");
    }
    else
    {
        listBox1.Items.Add(textBox1.Text);
        textBox1.Text = "";
    }   
}
Run Code Online (Sandbox Code Playgroud)