有 2 个组合框 shown.I return it.But 中有 12 个值 我想从第二个组合框中删除我在第一个组合框中选择的值
There are 2 comboboxes as shown.I return 12 values in it.But i want to delete the value i selected in the first combobox from the second
我想删除我在第二个中选择的值,first.I将使用 12 个组合框执行此操作。我怎样才能做到最干净。
enter image description here
int[] Can = new int[12]; /*Array*/
for (int i = 0; i < 12; i++)
{
Can[i] = i + 1;
}
z++;
if (z <=1)
{
foreach (var value in Can) //Can DATA
{
CanID1.Items.Add(value); /*12 piece Can
CanID2.Items.Add(value);
CanID3.Items.Add(value);
CanID4.Items.Add(value);
CanID5.Items.Add(value);
CanID6.Items.Add(value);
CanID7.Items.Add(value);
CanID8.Items.Add(value);
CanID9.Items.Add(value);
CanID10.Items.Add(value);
CanID11.Items.Add(value);
}
}
你应该让你的问题更清楚一点,但我想我明白了它的要点。
我觉得最好使用的对象是 List<int>
for can 而不是 int[]
以便于操作。我不确定您是否希望能够再次使用这些值,但我们可以在后续的 ComboBox
中删除它们。
List<int> can = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
当 DropDown()
发生时,我让每个 ComboBox
重建它的 Items
。
private void comboBox1_DropDown(object sender, EventArgs e)
{
comboBox1.Items.Clear();
foreach (int item in can)
{
comboBox1.Items.Add(item);
}
}
在 SelectedIndexChanged()
之后,我们只删除选定的值。
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
can.Remove((int)comboBox1.SelectedItem);
}
我想删除我在第二个中选择的值,first.I将使用 12 个组合框执行此操作。我怎样才能做到最干净。
enter image description here
int[] Can = new int[12]; /*Array*/
for (int i = 0; i < 12; i++)
{
Can[i] = i + 1;
}
z++;
if (z <=1)
{
foreach (var value in Can) //Can DATA
{
CanID1.Items.Add(value); /*12 piece Can
CanID2.Items.Add(value);
CanID3.Items.Add(value);
CanID4.Items.Add(value);
CanID5.Items.Add(value);
CanID6.Items.Add(value);
CanID7.Items.Add(value);
CanID8.Items.Add(value);
CanID9.Items.Add(value);
CanID10.Items.Add(value);
CanID11.Items.Add(value);
}
}
你应该让你的问题更清楚一点,但我想我明白了它的要点。
我觉得最好使用的对象是 List<int>
for can 而不是 int[]
以便于操作。我不确定您是否希望能够再次使用这些值,但我们可以在后续的 ComboBox
中删除它们。
List<int> can = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
当 DropDown()
发生时,我让每个 ComboBox
重建它的 Items
。
private void comboBox1_DropDown(object sender, EventArgs e)
{
comboBox1.Items.Clear();
foreach (int item in can)
{
comboBox1.Items.Add(item);
}
}
在 SelectedIndexChanged()
之后,我们只删除选定的值。
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
can.Remove((int)comboBox1.SelectedItem);
}