2013-09-09 7 views
0

Я пытаюсь получить выбранные элементы в том порядке, в котором они были выбраны, проблема возникает, когда я выбираю элементы в порядке ASC, я имею в виду от верхнего к нижнему, он всегда возвращает первый selectedIndex или значение, а проблема что элементы могут быть выбраны в любом порядке. Элемент управления ListBox имеет SelectionMode, установленный в MultiSimple, и я попытался использовать MultiExtended без успеха. Любопытно, когда я выбираю элементы в обратном порядке снизу вверх, он отлично работает. Я тестировал, читал и искал везде, но до сих пор не работал. ListBox ограничивается источником данных.Почему я всегда получаю первое выбранное значение из ListBox, когда я вызываю ListBox.SelectedValue и выбираю элементы в порядке ASC в C#?

Работа с коллекцией в порядке, потому что она возвращает выбранные элементы, но я не могу получить предметы в том порядке, в котором они были выбраны.

private void lstEquipos_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if (lstEquipos.SelectedIndex != -1) 
     { 
      textBox1.Text = lstEquipos.SelectedIndex.ToString(); 
     }    
    } 
} 

ответ

0

Попробуйте использовать SelectedItem вместо:

private void lstEquipos_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    // Get the currently selected item in the list box 
    string currentItem = lstEquipos.SelectedItem.ToString(); 

    // Find the index of the currently selected item in the list box 
    int index = lstEquipos.FindString(cucurrentItemItem); 

    textBox1.Text = index.ToString(); 
} 
0

Ну, хотя я не нашел объяснений о том, почему это происходит, здесь я нашел решение, чтобы держать вещи в порядке, они были выбранный, stackoverflow.com/a/305601/2722313