请各位不要告诉我说把 HideSelection 属性设为 false,虽然这样可以突出显示,但当listview失去焦点时,高亮显示的颜色变成了灰色,这不是我想要的效果,
我想要的效果是:不管listviewe有没有焦点终保持蓝色高亮显示.也不要不要告诉我说 Item.BackColor = System.Drawing.SystemColors.Highlight;虽然这样可以也可以实现不管listviewe有没有焦点终保持蓝色高亮显示,但问题是在修改Item.BackColor时,listview会有闪动,总觉得不那么爽,而且系统默认的高亮显示,它是不会改修改Item.BackColor 的,虽然我们看到的是蓝底白字,但是通过程序读出来的Item.BackColor 是白色的,Item.ForeColor是黑色的,所以觉得通过设置Item.BackColor 来实现不是很好,最理想的方法是可以设置控件失去焦点的高亮显示颜色,可他妈微软没有提供这样的方法,气死了!!!

解决方案 »

  1.   

    你可以重写listview,截取失去焦点时候的消息,然后自行绘制.
      

  2.   

    参看
    http://www.codeproject.com/cs/miscctrl/extendedlistviews.asp
      

  3.   

    要重写这么麻烦吗?
    (愚翁): http://www.codeproject.com/cs/miscctrl/extendedlistviews.asp
    下载不了代码看
      

  4.   

    you should register first, and then download demo file.
      

  5.   

    我要的是这样:
    请各位不要告诉我说把 HideSelection 属性设为 false,虽然这样可以突出显示,但当listview失去焦点时,高亮显示的颜色变成了灰色,这不是我想要的效果,
    我想要的效果是:不管listviewe有没有焦点终保持蓝色高亮显示.也不要不要告诉我说 Item.BackColor = System.Drawing.SystemColors.Highlight;虽然这样可以也可以实现不管listviewe有没有焦点终保持蓝色高亮显示,但问题是在修改Item.BackColor时,listview会有闪动,总觉得不那么爽,而且系统默认的高亮显示,它是不会改修改Item.BackColor 的,虽然我们看到的是蓝底白字,但是通过程序读出来的Item.BackColor 是白色的,Item.ForeColor是黑色的,所以觉得通过设置Item.BackColor 来实现不是很好,最理想的方法是可以设置控件失去焦点的高亮显示颜色,可他妈微软没有提供这样的方法,气死了!!!
      

  6.   

    Sorry!上次说错了,参看
    http://www.codeproject.com/cs/miscctrl/bk_custlistview.asp
      

  7.   

    Knight94(愚翁) 
    估计把codeproject给翻了一遍,自己整理了一个数据库用来存放里面的东西了弓虽!
      

  8.   

    this.listview1.item(0).focus();
    this.listview1.item(0).selected=true;