现在有一个listbox,需要给每一行的item绘制不同的颜色。
比如
我好菜
我好菜
我好菜
我好菜到这一步是可以用ListBox.DrawItem事件来实现的。但是选中一行以后,选中行的背景颜色会变成黑色。
所以如果选中黑色项的行,字体会被覆盖掉。所以这时要把黑色项字体变成白色
比如选中第三行 则变成我好菜
我好菜
我好菜 ----》这行脑补下背景是黑色的= 。 =,字体是白的
我好菜到这一步还是可以在ListBox.DrawItem事件内来实现。但是继续从白色项点选到第二行的黑色项后。drawitem这时只会处理第二行的绘制工作。
我好菜
我好菜 ----》这行脑补下背景是黑色的= 。 =,字体是白的
我好菜 ----》这一行背景变回白色的了,字完全看不到了啊!
我好菜那怎么使第三行复位成黑色呢。小弟新人菜逼一枚。也没有多少的积分。
第一次发帖,表达的很怪异。希望各位看官能看懂我的意思帮帮忙
比如
我好菜
我好菜
我好菜
我好菜到这一步是可以用ListBox.DrawItem事件来实现的。但是选中一行以后,选中行的背景颜色会变成黑色。
所以如果选中黑色项的行,字体会被覆盖掉。所以这时要把黑色项字体变成白色
比如选中第三行 则变成我好菜
我好菜
我好菜 ----》这行脑补下背景是黑色的= 。 =,字体是白的
我好菜到这一步还是可以在ListBox.DrawItem事件内来实现。但是继续从白色项点选到第二行的黑色项后。drawitem这时只会处理第二行的绘制工作。
我好菜
我好菜 ----》这行脑补下背景是黑色的= 。 =,字体是白的
我好菜 ----》这一行背景变回白色的了,字完全看不到了啊!
我好菜那怎么使第三行复位成黑色呢。小弟新人菜逼一枚。也没有多少的积分。
第一次发帖,表达的很怪异。希望各位看官能看懂我的意思帮帮忙
解决方案 »
- C#.net中listview控件中checkbox的用法
- 求助!如何调用 树形控件的 节点点击事件
- 在线急等!!!菜鸟求救:asp.net配置,连接数据,配置 <connectionStrings> 出错。。
- 急,急!SaveFileDialog 怎么实现一次保存多个文件呢,谢谢!
- 如何将DataSet中的数据保存到数据库中?
- 上报项目系统,客户端向服务器端提交数据库信息,两个不同ip ,不同网端的数据库操作怎么实现
- 做一般的网页考试系统有什么可以实现试卷计时的,又可以防刷新. 多分散.
- (急)高手快过来!将图片从数据中取出来然后放到文件夹中的方法有什么?
- 关于一个汉字库的问题!
- 前辈们:究竟什么是抽象类?
- form的关闭问题
- 如何实现这个算法
你好。非常谢谢你的回复。可能我的表达不是很好。
我不知道怎么绘制。
写了一个DrawItem事件以后发现绘制的行好像是根据事件参数的e.index来确定的。
就像我从第二行点到第四行,DrawItem事件参数的e.index = 3,e.Graphics.drawString也只会对这一行生效。
那我怎么复位第二行的底色和前景色呢。
谢谢你的回复。我想再描述一下,就是当我在自绘的Listbox里选中new selection后不能"refresh"我之前的selected item。所以当我选中新item时,old selected item依旧保持之前的效果。当我最小化而后最大化窗口后就会再次绘制出成功的效果。烦问这位朋友有没有什么法子,感谢。