日期:2014-05-18  浏览次数:20808 次

listview中,如何实现 单击某行里任意一列则改变该行背景
类似于迅雷的那样。
我主要是不知道,点击该行后,怎么得到这行的索引。是用 SelectedItems还是 CheckedItems?他们有什么区别?

------解决方案--------------------
this.listView1.FullRowSelect = true;

点击该行后,怎么得到这行的索引:
 private void listView1_MouseDown(object sender, MouseEventArgs e)
{
ListViewHitTestInfo info = this.listView1.HitTest(e.X, e.Y);
int index = info.Item.Index;
}
------解决方案--------------------
和ls的是一样的做法,不过用MouseClick在没有点击到不会出错。
C# code

        private void listView1_MouseClick(object sender, MouseEventArgs e)
        {
            ListViewHitTestInfo lv = this.listView1.HitTest(e.X, e.Y);
            this.txtList.Text = lv.Item.Index.ToString();
        }