Как да получа отметната стойност от моя checkedListbox?

Пиша програма за колега, но не знам как да използвам свойствата на всички елементи на Visual Studio C++ 2010.

Искам да взема низа, който е избран или маркиран в Listbox и Checked Listbox също. На първия ред от моя код, когато взема List box char, той работи перфектно, но когато се опитам да направя същото с моя отметнат Listbox, ми дава изключение.

Какво е свойството да се маркира само един елемент в полето с отметка?

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