2011-11-17 2 views
0

У меня есть фиксированный список, содержащий фиксированные элементы. Кроме того, я создаю несколько списков. Я хочу добавить выбранный элемент из фиксированного списка в один из выбранных списков, который создается.Как добавить элемент в выбранный ListBox

Как узнать, какой список на самом деле выбран?

Для каждого созданного списка я даю ему другое имя ListBox.Name. Я думал, это может помочь мне, но я не могу решить эту проблему.

Для каждого списка я пытаюсь создать Radiobutton, но я не знаю, как его использовать с ListBoxes.

+8

C# не имеет ListBoxes. WinForms, Silverlight, ...? –

ответ

0

Вам нужен способ, чтобы выбрать ListBox:

  1. Использование перетаскивания (падение показывает, что ListBox выбран)
  2. Используйте кнопку радио или что-то подобное, чтобы отметить ListBox в качестве мишени
  3. Используйте отдельные кнопки для каждого ListBox, чтобы нажать, чтобы переместить элемент в определенной ListBox

Там нет стандартного способа справиться с этим, по сути, только один элемент управления может иметь фокус так selecti ng список и выбор элемента одновременно потребует от вас создания одной из этих конструкций.

Чтобы использовать радиокамеру, вам нужно будет узнать, в каком коде установлена ​​радиокнопка, а затем решить, какой список принадлежит этому радиобарабану.

Если вам нужна конкретная информация об осуществлении, отправьте ваши вопросы, код и вопросы, чтобы мы могли посмотреть.

+0

THX для ответа мой вопрос. плохо попробуйте второй способ. – user1051723

+0

Я думаю, я нашел решение. Я добавляю созданный RadioButton и ListBox в список, чтобы я мог узнать проверенный RadioButton. Решение отмеченного ListBox встречается при сравнении между ListBox.Text и RadioButton.Text, поэтому я могу обнаружить отмеченный ListBox. Наконец, я могу добавлять элементы везде, где захочу. thx за помощью! – user1051723

+0

Возможно, было бы разумнее установить свойство тега радиообъектов для своих списков. Тогда нет необходимости сравнивать строки и поиск. –

1

Вы могли бы попробовать что-то вроде этого:

public partial class Form1 : Form 
{ 
    ListBox lstSelected = null; 

    private void lb_Enter(object sender, EventArgs e) 
    { 
     lstSelected = (ListBox)sender; 
    } 
} 

Идея заключается в следующем: для каждого ListBox установить Enter событие lb_Enter(), так что вы всегда выбрали ListBox в lstSelected вар.
При создании нового списка, вы можете использовать

ListBox lst = new ListBox(); 
lst.Enter += lb_Enter; 
1

Проверяя Ориентированные органов управления вы можете проверить элемент управления уже имеет фокус или нет Но я знаю, что do'nt ДОУ вы имеете в виду, создавая радиокнопку для каждый список ?!

0

В зависимости от того, как вы хотите реализовать выбор списков. Вы можете сохранить идентификаторы родителя, когда у вас есть фокус. См. Раздел Ввод события.

public partial class Form1 : Form 
{ 

    private string selectedListBox; 
    public Form1() 
    { 
     InitializeComponent(); 


    } 


    private void listBox1_Enter(object sender, EventArgs e) 
    { 
     selectedListBox = (sender as ListBox).Name; 
    } 
} 

С уважением, Богдан

Смежные вопросы