ListBox 选中行发生改变时如何修改字体颜色
现在有一个listbox,需要给每一行的item绘制不同的颜色。
比如
我好菜
我好菜
我好菜
我好菜
到这一步是可以用ListBox.DrawItem事件来实现的。
但是选中一行以后,选中行的背景颜色会变成黑色。
所以如果选中黑色项的行,字体会被覆盖掉。所以这时要把黑色项字体变成白色
比如选中第三行 则变成
我好菜
我好菜
我好菜 ----》这行脑补下背景是黑色的= 。 =,字体是白的
我好菜
到这一步还是可以在ListBox.DrawItem事件内来实现。
但是继续从白色项点选到第二行的黑色项后。drawitem这时只会处理第二行的绘制工作。
我好菜
我好菜 ----》这行脑补下背景是黑色的= 。 =,字体是白的
我好菜 ----》这一行背景变回白色的了,字完全看不到了啊!
我好菜
那怎么使第三行复位成黑色呢。
小弟新人菜逼一枚。也没有多少的积分。
第一次发帖,表达的很怪异。希望各位看官能看懂我的意思帮帮忙。。。
[解决办法]
感觉可以增加个中间变量记录上次选中的,当你点击下次的时候在对上次的临时变量进行处理,处理完毕后在把这次选中的赋给临时变量,这样来实现循环处理。
[解决办法]
可以首先记录一下listbox中的每一行的颜色,之后在选中其中一行的时候,使得选中的行设置字体颜色,其它的行恢复初始状态颜色。