0

我试图按它们被选中的顺序获取选中的项目,当我按 ASC 顺序选择项目时出现问题,我的意思是从上到下,它总是返回第一个 selectedIndex 或值,问题是可以按任何顺序选择项目。ListBox 控件的 SelectionMode 设置为 MultiSimple,我尝试使用 MultiExtended 没有成功。奇怪的是,当我从底部到顶部以相反的顺序选择项目时,它工作得很好。到目前为止,我一直在到处测试、阅读和搜索,但没有让它工作。ListBox 绑定到一个数据源。

直接使用集合是可以的,因为它返回 selectedItems,但我无法按照它们被选中的顺序获取项目。

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

2 回答 2

0

好吧,虽然我还没有找到关于为什么会发生这种情况的解释,但在这里我找到了一个解决方案,可以让项目保持选择的顺序,stackoverflow.com/a/305601/2722313

于 2013-09-10T18:02:31.817 回答
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();
}
于 2013-09-09T20:24:41.627 回答