更新!
澄清问题。我想使用向上和向下箭头更改列表视图中的所选项目。我已将 keydown 绑定到文本框。如果用户按下句号键,我的列表视图可见。但它并没有集中,这就是为什么我将keydown事件绑定到文本框以便能够更改listview中的selecteditem。
visuaö工作室抱怨的代码就是这个
index = listView1.SelectedIndices[0];
零是某种错误?
我正在使用 listview !
如何以编程方式更改listview selecteditem
?我现在正在听向上箭头和向下箭头的按键事件。
按下它们我想更改所选项目索引。因此,当按下向上或向下箭头时,它会表现得相同!
我一直在尝试,但它给了我一个难看的错误信息。
参数超出范围异常,附加信息如下:
值0对索引无效。这是我向下箭头的代码。
IT真的应该工作我完全不知道这个!
if (e.KeyCode == Keys.Down)
{
if (listView1.Visible)
{
index = listView1.SelectedIndices[0];
index = index - 1;
this.listView1.Items[index].Selected = true;
}
}
和向上箭头
if (e.KeyCode == Keys.Up)
{
if (this.listView1.Visible)
{
index = listView1.SelectedIndices[0];
index++;
this.listView1.Items[index].Selected = true;
}
}
答案 0 :(得分:1)
请改为尝试:
if (e.KeyCode == Keys.Down)
{
if (listView1.Visible && listView1.Items.Count > 0)
{
index = listView1.SelectedIndices[0];
index = index - 1;
this.listView1.Items[index].Selected = true;
}
}
我认为你得到的是IndexOutOfBound
,因为列表中没有任何项目。