0

私のwinform(C#)内には、配列エントリの基本的な詳細である配列の検索結果を表示するために使用される2つの列を持つlistViewがあります(配列内のすべてのデータは文字列型です)。リストビューにアイテムを追加および削除できますが、リストビュー内でクリックされた行の値を取得できるようにしたいと考えています。

これを使用して完全なエントリ情報の表示を更新する予定ですが、選択したアイテムの値を取得できません。私は他の場所で読んでいて、人々が .SelectedIndex プロパティについて言及しているのを見ましたが、コーディングしようとしているときにこのプロパティを利用することはできません。

リストビューの代わりに 2 つのリストボックスを使用することもできますが、リストビューの方がずっときれいです。また、私はソフトウェア設計 (高校) の学生で、C# を 1 年半学んでいます。私はプログラミングが得意ですが、物事が非常に複雑になり始めると、道に迷い始めます。

誰でも助けることができますか?

4

5 に答える 5

2

ListView.SelectedItemsListView が VirtualData モードでない場合、プロパティは正常に機能します。

于 2011-06-14T11:32:49.773 に答える
0

問題を修正しました。私のソフトウェア クラスの友人と話した後、彼はlistView1.FocusedItem.Index、選択した項目のインデックスを取得するため、私のニーズに完全に適合する を使用するように言いました。また、私を助けようとしてくれた皆さんにも感謝します。

于 2011-06-15T05:10:10.093 に答える
0

SelectedItem プロパティと Tag プロパティを使用する必要があります

var item = (MyClass)  listView1.SelectedItems[0].Tag;

tag プロパティを使用すると、ListView に Tag プロパティを設定するときに MyClass などの任意のタイプを設定できます。

于 2011-06-14T11:34:42.000 に答える
0

SelectedItemsListViewのチェック用

于 2011-06-14T11:34:52.290 に答える
0

イベントをトラップできSelectedIndexChanged、その中でできること

ListView.SelectedListViewItemCollection listItems= 
            this.myListView.SelectedItems;

        foreach ( ListViewItem item in listItems)
        {
            MessageBox.Show(item.SubItems[0].Text);
            MessageBox.Show(item.SubItems[1].Text);
        }
于 2011-06-14T11:34:56.107 に答える