Как мне получить проверенное значение из моего CheckListbox?

Я пишу программу для коллеги, но не знаю, как использовать свойства всех элементов в Visual Studio C++ 2010.

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

Каково свойство проверять только один элемент в списке отмеченных?

char *nVuelo=((char*)Marshal::StringToHGlobalAnsi((String ^)(LB_VisorVuelos->Items[LB_VisorVuelos->SelectedIndex])).ToPointer());
int pAsiento=((int)Marshal::StringToHGlobalAnsi((String ^)(CLB_Asientos->Items[CLB_Asientos->SelectedIndex])).ToPointer());

person Giuseppe    schedule 24.06.2012    source источник
comment
Ого, не знал этого. А знаете ли вы, в чем заключается свойство проверять только один?   -  person Giuseppe    schedule 25.06.2012


Ответы (1)


Я не могу дать вам код C++ (не тот язык, которым я особенно хорошо владею), но, возможно, это поможет.

CheckedListBox поддерживает коллекцию проверенных элементов в своем свойстве CheckedItems. Он содержит все проверенные элементы, и доступ к нему можно получить с помощью типичного цикла for (код C#):

for(int i = 0; i < checkedListBox1.CheckedItems.Count; i++)
{
  string selection = checkedListBox1.CheckedItems[i].ToString();
}

Вы также можете использовать перечислитель и цикл foreach:

foreach(object itemChecked in checkedListBox1.CheckedItems) 
{
   string selection = itemChecked.ToString();
}

Чтобы отметить/снять отметку с элемента в коде, вы используете метод SetItemChecked(int index, bool value):

checkedListBox1.SetItemChecked(4, true);
person Ken White    schedule 25.06.2012