ListBox获取选定的索引?

时间:2017-08-10 19:18:33

标签: c# winforms c#-4.0

我尝试在ListBox中获取所选项目的索引:

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
  int index = listBox1.SelectedIndex;
}

当我选择第二项时,它再次返回索引零。

填写ListBox:

private void fillWorkListBox()
{
  this.list = manager.works();
  this.listBox1.DisplayMember = "name";
  this.listBox1.ValueMember = "id";

  for (var i = 0; i < this.list.works.Count; i++)
  {
      string name = "№" + this.list.works[i].id + " - " + this.list.works[i].name;

      WorkModel work = new WorkModel();
      work.name = name;
      work.id = this.list.works[i].id;

      listBox1.Items.Add(work);
  }
}

1 个答案:

答案 0 :(得分:2)

您的列表框似乎将SelectionMode属性设置为与默认值不同的值。例如,如果SelectionMode是MultipleSimple,那么您不能使用SelectedIndex属性,因为它不是所选元素的列表。而是使用SelectedIndices集合

void listBox1_SelectedIndexChanged(object sender, EventArgs args)
{
    foreach(int x in listBox1.SelectedIndices)
        Console.WriteLine(x);
}