0

アップデート!

質問を明確にするため。上下の矢印を使用して、リストビューで選択したアイテムを変更したいと思います。キーダウンをテキストボックスに関連付けました。ユーザーがピリオドキーを押すと、リストビューが表示されます。ただし、焦点が絞られていないため、リストビューで選択したアイテムを変更できるように、キーダウンイベントをテキストボックスに関連付けました。

visuaöstudioが不満を言っているコードはこれです

index = listView1.SelectedIndices[0];

ゼロはどういうわけか間違っていますか?

リストビューを使用しています!

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;
    }
}
4

1 に答える 1

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リストにアイテムがないので、あなたは取得していると思います。

于 2012-07-26T21:57:47.033 に答える