C#实现listview当作表使用,不能被选中 但是背景色可以修改

从南到北 2013-04-25 03:56:35
本人在做一个利用listview来实现类似表功能的时候遇到了问题,希望高手帮忙解决。
实现效果描述:
当鼠标点击listview控件的时候,控件类似label一样没有任何现象(现在的现象是当鼠标点击控件的时候会出现白色的边,如果我把listview的enable设置为false则背景色就恢复默认的颜色了,这不是我要的效果),这是我想要实现的效果。因为我需要动态的添加数据,所以不能用label来替代。
...全文
895 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
brokenhammer 2015-01-12
  • 打赏
  • 举报
回复
试试
ListView1.HideSelection = true;
从南到北 2013-04-25
  • 打赏
  • 举报
回复
gxingmin 你后面说的这个方法我没有试,不过我已经找到了一个方法,这个方法是这样的 很简单的 就是在istview得到焦点的时候就失去焦点 这样就达到我了我想到的效果。
gxingmin 2013-04-25
  • 打赏
  • 举报
回复
先失效,然后再有效试试 ListView1.Enabled=false; ListView1.Enabled=true; 或 ListView1.Refresh();
从南到北 2013-04-25
  • 打赏
  • 举报
回复
或者有没有别的控件可以实现我需要的效果?有没有人知道?
从南到北 2013-04-25
  • 打赏
  • 举报
回复
gxingmin 你说的转移焦点我也试过了 我在SelectedIndexChanged(object sender, EventArgs e)这里面先是取消了选中行,然后代码使得别的空间得到焦点,但是还是会出现那个白色的矩形框,不管是我先让别的控件得到焦点再取消选中行还是先取消选中行再让别的控件得到焦点,那个白色的矩形框还是会出现。
从南到北 2013-04-25
  • 打赏
  • 举报
回复
bdmh 你没有懂我想要实现的效果 楼上的图是我目前达到的效果,我通过在选中行的事件中取消了listview的所有选中行,那个高亮现在不显示了 但是出现那个带白色的矩形框 我需要的是把这个矩形框也给取消 也就是相当于listview不能聚焦,但是如果把enable设置为false的话 那么listview本身的背景颜色就只能是默认的control 不能修改。
gxingmin 2013-04-25
  • 打赏
  • 举报
回复
你试试转移焦点,代码让别的控件获取焦点看看
从南到北 2013-04-25
  • 打赏
  • 举报
回复
gxingmin 你说的那个我那样做了 但是还是会出现带白色的框 图我上传了
bdmh 2013-04-25
  • 打赏
  • 举报
回复
Draw相关事件中绘制背景
从南到北 2013-04-25
  • 打赏
  • 举报
回复
通过分析,现在实现了单击listview行的时候不会出现高亮显示,但是还是会出现一个白色的框,我需要这个白色的框在点击的时候也不要出现。也就是把listview的每一行作为label用。
gxingmin 2013-04-25
  • 打赏
  • 举报
回复
在SelectIndexChanged事件里,将当前选中的ListViewItem的背景颜色改变成你要的颜色,然后代码取消选中行

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧