0

リストビューコントロールがあります。選択したアイテムを削除するオプションがあります。ユーザーがアイテムを削除した後、削除されたアイテムまたは最初のアイテムの直前の前のアイテムをプログラムで選択する必要があります。

listView.Items[0].Selected = true;
listView.Select(); 

項目が選択されていないか、強調表示されていません。何が問題なのですか?

4

3 に答える 3

2

ListView.Selectは、アイテムコレクション内のアイテムを選択しません。
正しい構文は

if(this.listView1.Items.Count > 0)
{
    this.listView1.Focus();
    this.listView1.Items[0].Focused = true;
    this.listView1.Items[0].Selected = true;
}

こちらのMSDNを参照してください

于 2012-06-09T09:44:52.930 に答える
0

投稿したコードは正常に動作します。別のコントロールにフォーカスを与えるなど、何か他のことをしていますか? listView のデフォルトの動作は、フォーカスを失ったときに選択された項目を非表示にすることです。

listViewのプロパティHideSelectionを false に設定し、選択が表示されるかどうかを確認します。

于 2012-06-09T09:21:42.643 に答える
0

listView の Items コレクションには Select() メソッドがありません。代わりに、listView の Select() メソッドを呼び出します。ただし、ほとんどの場合、それがなくても機能するはずです。

listView.Items[0].Selected = true; 
listView.Select(); 

ところで、「動かない」というのは、何が問題を引き起こしているのかをうまく説明するものではありません。次回はもう少し具体的に。

于 2012-06-09T09:09:34.270 に答える