Возможно, я путаюсь с терминологией, но вот что я пытаюсь сделать:
У меня есть функция перемещения, которая в итоге приведет к перемещению выбранных элементов из одного listBox
в другой.Есть три списка с двумя кнопками со стрелками вправо и влево между каждым, чтобы переместить первые элементы списка в середину, середину назад в первый и т. Д.
Моя функция принимает различные названия кнопок через sender
и в операторе switch
я хочу выбрать, из каких listBox
будут выбраны отправляемые элементы и куда они будут отправлены.Если это имеет смысл.
Цикл while внизу будет выполнять фактическое движение, в зависимости от того, что установлено для "to" и "from" listBoxes
.
MyВопрос в том, как я могу в рамках этой функции ссылаться на имена трех существующих listBoxes
в каждом из случаев оператора switch
?Я знаю, что инициализация new listBox
, как я сделал, неверна и просто создаст еще listBoxes
.Возможно, для этого случая проще всего явно поместить цикл while
в каждое из операторов case
, но на будущее в более сложном сценарии я все же хотел бы знать, как это делается.
private void move(object sender, EventArgs e)
{
Button thisButton = sender as Button;
ListBox to = new ListBox();
ListBox from = new ListBox();
switch (thisButton.Name)
{
case "queueToProgressButton":
to.Name = "queueListBox";
from.Name = "progressListBox";
break;
case "progressToQueueButton":
to.Name = "queueListBox";
from.Name = "progressListBox";
break;
case "progressToCompletedButton":
to.Name = "queueListBox";
from.Name = "progressListBox";
break;
case "completedToProgressButton":
to.Name = "queueListBox";
from.Name = "progressListBox";
break;
}
while (from.SelectedItems.Count > 0)
{
to.Items.Add(from.SelectedItem);
from.Items.Remove(from.SelectedItem);
}
}