1

多くの列のリストビューを作成しています。下の図のように、すべてのサブアイテムでリストをクリック可能にしたいです。

ここに画像の説明を入力してください

しかし、私が得るものは下の写真のようです。

ここに画像の説明を入力してください

これは私のコードです:

    private void button6_Click(object sender, EventArgs e)
        {
            ListViewItem listviewitem;

            listviewitem = new ListViewItem("John");
            listviewitem.SubItems.Add("Smith");
            listviewitem.SubItems.Add("kaya");
            listviewitem.SubItems.Add("bun");
            this.listView1.Items.Add(listviewitem);
            this.listView1.ColumnClick += new ColumnClickEventHandler(ColumnClick);
//show header
            listView1.View = View.Details;

            // Loop through and size each column header to fit the column header text.
            foreach (ColumnHeader ch in this.listView1.Columns)
            {
                ch.Width = -2;
            }
}

これは私のcolumnclickイベントハンドラーです。

 // ColumnClick event handler.
    private void ColumnClick(object o, ColumnClickEventArgs e)
    {
        // Set the ListViewItemSorter property to a new ListViewItemComparer 
        // object. Setting this property immediately sorts the 
        // ListView using the ListViewItemComparer object.
        this.listView1.ListViewItemSorter = new ListViewItemComparer(e.Column);
    }




    }
class ListViewItemComparer : IComparer
{
    private int col;
    public ListViewItemComparer()
    {
        col = 0;
    }
    public ListViewItemComparer(int column)
    {
        col = column;
    }
    public int Compare(object x, object y)
    {
        return String.Compare(((ListViewItem)x).SubItems[col].Text, ((ListViewItem)y).SubItems[col].Text);
    }
}
4

1 に答える 1

6
 listView1.FullRowSelect = true;
于 2012-08-10T02:34:02.153 に答える