C# 通过FindByText方法从列表框中删除项

C# 通过FindByText方法从列表框中删除项,c#,listbox,C#,Listbox,当用户单击复选框时,它会将该项目添加到列表框中;当用户取消选中该项目时,它必须从列表中删除。我试图使用FindByText方法,但它似乎没有出现在我的VisualStudio中。以下是我目前的工作: if (checkBox1.Checked == true) { listBox1.Items.Add(checkBox1.Text); } else { listBox1.Items.Remove(listBox1.Items.FindByText(che

当用户单击复选框时,它会将该项目添加到列表框中;当用户取消选中该项目时,它必须从列表中删除。我试图使用FindByText方法,但它似乎没有出现在我的VisualStudio中。以下是我目前的工作:

 if (checkBox1.Checked == true)
 {
        listBox1.Items.Add(checkBox1.Text);
 }
 else
 {
        listBox1.Items.Remove(listBox1.Items.FindByText(checkBox1.Text));
 }

您添加了
String
,因此也应该删除
String
;因此,您不需要在任何
FindByText
中:

listBox1.Items.Remove(checkBox1.Text);
完整片段:

if (checkBox1.Checked) // "== true" is redundant
  listBox1.Items.Add(checkBox1.Text);
else
  listBox1.Items.Remove(checkBox1.Text);
甚至

  // To prevent double adding
  listBox1.Items.Remove(checkBox1.Text);

  if (checkBox1.Checked)
    listBox1.Items.Add(checkBox1.Text);

您添加了
String
,因此也应该删除
String
;因此,您不需要在任何
FindByText
中:

listBox1.Items.Remove(checkBox1.Text);
完整片段:

if (checkBox1.Checked) // "== true" is redundant
  listBox1.Items.Add(checkBox1.Text);
else
  listBox1.Items.Remove(checkBox1.Text);
甚至

  // To prevent double adding
  listBox1.Items.Remove(checkBox1.Text);

  if (checkBox1.Checked)
    listBox1.Items.Add(checkBox1.Text);

要在列表框中按文本查找项目,您必须遍历所有项目

请参阅这篇关于从列表框中删除项目的文章:

要通过文本在列表框中查找项目,您必须遍历所有项目

请参阅这篇关于从列表框中删除项的文章:

我已经很长时间没有使用winforms了,但从您的代码判断,您正在添加一个字符串,然后尝试删除一个控件。您确定它不应该是:
listBox1.Items.Remove(checkBox1.Text)
我很久没有使用winforms了,但从您的代码判断,您正在添加字符串,然后尝试删除控件。您确定它不应该是:
listBox1.Items.Remove(checkBox1.Text)