0

我有一个ListBox包含项目的项目,我从ComboBox. 当我从我的 中选择一个项目时ComboBox,它也会从我的ComboBox.

我的表单上有一个按钮,让我复制我的选定项目ListBox,给我两个相同的项目ListBox

我的表单上还有一个按钮,可以让我从我的ListBox. 如果我从 中删除一个项目ListBox,该项目将返回到ComboBox,但如果我复制了该项目并且我从 中删除了两个项目ListBox,它们都会显示在ComboBox.

我不希望有两个相同的项目在ComboBox

这是我尝试使用的代码:

private void buttonRemove_Click(object sender, EventArgs e)
    {
        try
        {
            if (ComboBox.ToString().Contains("Chicken McNuggets"))
            {
                found = true;
            }
            if (!found)
            {
                ComboBox.Items.Add("Chicken McNuggets");
                found = false;
            }
            ListBox.Items.Remove(ListBox.SelectedItem);
        }
        catch
        {
            MessageBox.Show(// Message);
        }
    }

这是我第一次在这里提问。

编辑:

private void buttonRemove_Click(object sender, EventArgs e)
        {
            try
            {
                if ((String)listBox.SelectedItem == "Big Mac" || (String)listBox.SelectedItem == "Quarter Pounder" || (String)listBox.SelectedItem == "McFeast" || (String)listBox.SelectedItem == "Cheeseburger" || (String)listBox.SelectedItem == "Hamburger" || (String)listBox.SelectedItem == "Big Tasty Bacon" || (String)listBox.SelectedItem == "McChicken" || (String)listBox.SelectedItem == "Fillet-O-Fish" || (String)listBox.SelectedItem == "Chicken Nuggets")
                {
                    comboBox.Items.Add(listBox.SelectedItem);
                    listBox.Items.Remove(listBox.SelectedItem);
                }
                else if ((String)listBox.SelectedItem == "BBQ dip" || (String)listBox.SelectedItem == "Cheddar dip" || (String)listBox.SelectedItem == "Gulerod" || (String)listBox.SelectedItem == "Hvidløgs dip" || (String)listBox.SelectedItem == "Karry dip" || (String)listBox.SelectedItem == "Ketchup" || (String)listBox.SelectedItem == "Pommes Frites Sauce" || (String)listBox.SelectedItem == "Sennep dip" || (String)listBox.SelectedItem == "Sursød dip" || (String)listBox.SelectedItem == "Æbler")
                {
                    comboBox2.Items.Add(listBox.SelectedItem);
                    listBox.Items.Remove(listBox.SelectedItem);
                }
                else if ((String)listBox.SelectedItem == "Gulerodskage" || (String)listBox.SelectedItem == "Kanelsnegl" || (String)listBox.SelectedItem == "McDonut chokolade" || (String)listBox.SelectedItem == "Sundae m. chokoladesauce" || (String)listBox.SelectedItem == "McDonut sukkerovertræk" || (String)listBox.SelectedItem == "McFlurry Daim" || (String)listBox.SelectedItem == "McFlurry Smarties" || (String)listBox.SelectedItem == "Sundae m. jordbærdsauce" || (String)listBox.SelectedItem == "Sundae m. karamelsauce" || (String)listBox.SelectedItem == "Triple chokolade muffin" || (String)listBox.SelectedItem == "Vaffelis")
                {
                    comboBox3.Items.Add(listBox.SelectedItem);
                    listBox.Items.Remove(listBox.SelectedItem);
                }
                else if (listBox.SelectedItem.ToString().Contains("Stor") || listBox.SelectedItem.ToString().Contains("Mellem") || listBox.SelectedItem.ToString().Contains("Lille") || listBox.SelectedItem.ToString().Contains("9") || listBox.SelectedItem.ToString().Contains("6") || listBox.SelectedItem.ToString().Contains("4"))
                {
                    string objectToString = listBox.SelectedItem.ToString();
                    string[] ord = objektToString.Split(' ');
                    string selectedItem = listBox.SelectedItem;

                    var check = comboBox.Items.Cast<string>()
                         .ToList()
                         .FirstOrDefault(c => c.Contains(selectedItem));
                    if (check != null)
                    {
                        comboBox.Items.Add("Chicken McNuggets");
                    }
                    else
                    {
                        listBox.Items.Remove(selectedItem);
                    }
                    if (listBox.SelectedItem.ToString().Contains("Pommes Frites"))
                        comboBox2.Items.Add(ord[1] + " " + ord[2]);
                    else if (listBox.SelectedItem.ToString().Equals("Stor Coca-Cola") || listBox.SelectedItem.ToString().Equals("Mellem Coca-Cola") || listBox.SelectedItem.ToString().Equals("Lille Coca-Cola"))
                        comboBox4.Items.Add(ord[1]);
                    else if (listBox.SelectedItem.ToString().Contains("Milkshake"))
                        comboBox4.Items.Add(ord[1] + " " + ord[2] + " " + ord[3]);
                    else
                        comboBox4.Items.Add(ord[1] + " " + ord[2]);
                    listBox.Items.Remove(listBox.SelectedItem);
                }
            }
            catch
            {
                MessageBox.Show(// Message);
            }
        }
4

1 回答 1

0

我们需要Caststring来自的项目,ComboBox以便我们现在可以轻松地检查ListBox.SelectedItem已经来自的项目ComboBox.Items

   private void buttonRemove_Click(object sender, EventArgs e)
    {
        try
        {
            string selectedItems = listBox1.SelectedItem.ToString();

            var check = comboBox1.Items.Cast<string>()
                 .ToList()
                 .FirstOrDefault(c => c.Contains(selectedItems));

            if (check != null)
            {

            }
            else
            {
                comboBox.Items.Add("Chicken McNuggets");
                listBox1.Items.Remove(selectedItems);
            }
        }
        catch
        {
            //MessageBox.Show();
        }
    }
于 2013-01-23T23:08:01.730 回答