【发布时间】:2012-07-26 21:54:29
【问题描述】:
更新!
澄清问题。我想使用向上和向下箭头更改列表视图中的选定项目。我已将 keydown 绑定到一个文本框。如果用户按下句点键,我会使我的列表视图可见。但它没有重点,这就是为什么我将 keydown 事件绑定到文本框以便能够更改列表视图中的选定项。
visuaö studio 抱怨的代码是这样的
index = listView1.SelectedIndices[0];
0 是不是有点不对?
我正在使用 列表视图!
如何以编程方式更改列表视图selecteditem?我目前正在监听向上箭头和向下箭头的按键事件。
当他们被按下时,我想更改所选项目的索引。这样它的行为就与按下向上或向下箭头使其聚焦时一样!
我一直在尝试,但它给了我一个丑陋的错误信息。
参数超出范围异常,附加信息如下:
0 值对索引无效。这是我的向下箭头代码。
它真的应该工作我对此一无所知!
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;
}
}
【问题讨论】:
-
欢迎来到 Stack Overflow。以后,请提供您收到的确切错误或异常,包括尽可能详细的信息。解释错误消息对我们没有任何好处。
-
你从哪里得到异常?向上键还是向下键?对我来说,您似乎在列表中没有任何项目,因此当您访问项目 0 时索引超出范围。
-
我不明白这个问题。当您使用键盘时,确定焦点的项目是唯一选择的项目吗?