3

コントロールに項目を追加しようとしていListViewます。テキスト値 (表示されている) と、選択時に非表示のキー値を持つ項目を追加したいと考えています。

私は次のコードを試しました:

string flows_path = "C:\\temp\\Failed Electricity flows\\";
            List<ListViewItem> flows_loaded = new List<ListViewItem>();

            foreach (string s in Directory.GetFiles(flows_path, "*.rcv").Select(Path.GetFileName))
            {
                ListViewItem new_item = new ListViewItem(s, 1);
                ListViewItem.ad

                // Add the flow names to the list
                flows_loaded.Add(new_item);

            }

しかしListViewItem、オーバーロードが(string, int)なく、設定できる「値」、「テキスト」、または「キー」値がないように見えます。

ListViewItem("My Item")動作しますが、アイテムごとにキーを実装する方法がわかりません。

4

2 に答える 2

8

プロパティに格納することで、ListViewItem に関連付けられた追加の値を格納できTagます。

ListViewItem new_item = new ListViewItem(s);
new_item.Tag = my_key_value;

TagETA:プロパティの型は であることを覚えておいてくださいobject。そのため、値を取得するときに、値を適切な型に明示的にキャストする必要がある場合があります。

于 2013-03-05T11:09:22.350 に答える
2

ListViewItemのTag-Propertyを設定することにより、「非表示」値を追加できます。

ListViewItem new_item = new ListViewItem(s)
{
   Tag = 1
};
于 2013-03-05T11:06:15.387 に答える