4

我的代码中有 2 个错误,不知道如何解决。

这是我的代码:

    private void add_button_Click(object sender, EventArgs e)`
    {
        try
        {

            if (list_selected.Contains(List_selection.SelectedItem))
            {
                MessageBox.Show("Can't add the same type twice");
            }
            else
            {
                list_selected.Items.Add(List_selection.SelectedItem);
            }
        }
        catch 
        {

            {
                MessageBox.Show("No type selected");
            }

        }
    }

这些是错误:

错误 1

'System.Windows.Forms.Control.Contains(System.Windows.Forms.Control)' 的最佳重载方法匹配有一些无效参数

错误 2

参数 1:无法从 'object' 转换为 'System.Windows.Forms.Control' C:\Projects\flashloader2013\mainapplication\Form1.cs 467 44 Main

请帮我。]

List_selection并且list_selectedListBoxes

4

5 回答 5

3

你需要写:

if (list_selected.Items.Contains(List_selection.SelectedItem))

否则,您检查 listView/Listbox 的控件集合(可能包含其他控件的任何控件)

于 2013-06-14T08:19:31.630 回答
3

而不是ListBox.Contains检查控件是否包含子控件,而是要检查 ListBox 是否包含此项。所以使用ListBox.Items.Contains

if (list_selected.Items.Contains(List_selection.SelectedItem))
于 2013-06-14T08:20:51.607 回答
2

转这个:

if (list_selected.Contains(List_selection.SelectedItem))

进入:

if (list_selected.Items.Contains(List_selection.SelectedItem))
于 2013-06-14T08:18:14.187 回答
1

你的代码应该是这样的

private void button1_Click(object sender, EventArgs e) {
   if (listBox1.Items.Contains(listBox1.SelectedItem)) {
        MessageBox.Show("Can't add the same type twice");
   }
   else {
        listBox1.Items.Add(listBox1.SelectedItem);
            }
        }
于 2013-06-14T08:24:23.663 回答
1

您的代码将不起作用,因为您正在尝试查询 ListBox。

如果你看到你的添加

list_selected.Items.Add(List_selection.SelectedItem);

您将看到您必须查询项目。如下所示。

list_selected.Items.Contains(List_selection.SelectedItem))
于 2013-06-14T08:26:27.173 回答