1

いくつかの ListViewSubItems の値を取得しようとしていますが、キーに使用する値がわかりません。私はいくつかの簡単なコードを持っています:

    protected override void OnItemDrag(ItemDragEventArgs e)
    {
        base.OnItemDrag(e);            
        ListViewItem item = e.Item as ListViewItem;
        string val = item.SubItems[???].ToString(); 
    }       

??? 部分は私が問題を抱えているところです。キーが何かわかりません。ListView の列名を試してみましたが、うまくいきませんでした。数値インデックスを使用する代わりに、この方法を使用したいと思います。

4

3 に答える 3

1

のキーは、こちらでListViewSubItem説明されているNameプロパティです。

Name を列名と同じに設定すると、列の名前で SubItems にインデックスを付けることができます。

そして、例としていくつかのコード

ListViewItem myListViewItem = new ListViewItem();
ListViewItem.ListViewSubItem myListViewSubItem = new ListViewItem.ListViewSubItem();
myListViewSubItem.Text = "This will be displayed";
myListViewSubItem.Name = "my key";
myListViewItem.SubItems.Add(myListViewSubItem);
ListViewItem.ListViewSubItem subItem = myListViewItem.SubItems["my key"];

于 2008-10-02T00:15:52.030 に答える
1

列インデックスを使用してサブアイテムを追加することしかできませんが、各列のインデックスを含む列挙を作成することで読みやすくすることができます。

于 2008-10-01T23:36:52.980 に答える
0

サブアイテムは、不運にも列インデックスによってのみ並べ替えられます。したがって、次のようにアクセスする必要があります。

protected override void OnItemDrag(ItemDragEventArgs e)
{
    base.OnItemDrag(e);            
    ListViewItem item = e.Item as ListViewItem;
    string val = item.SubItems[0].ToString(); 
}
于 2008-10-01T23:33:37.030 に答える