[英]Avoid duplication of list items
我有一個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);
}
}
我們需要強制轉換以將ComboBox
的項目string
,以便現在可以輕松地檢查ComboBox.Items
中已經存在的ListBox.SelectedItem
。
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();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.