c#listobox改变选中行的背景色

在listbox中,当我选了一条记录后,记录的背景色 是深蓝色的,我如何把颜色变成红色.
我用drawitem实现了改变某项的背景色,但是鼠标点击却不起作用了,什么反应也没有了。

只能通过 drawitem 来实现
drawitem 就是要你自己处理所有的项绘制,也就是鼠标点击后虽然项已经选中,但如果你没有绘制选中效果,看起来就好像点击不起作用,你需要通过 DrawItem 事件中的 e.State 来得到当前项的状态,绘制不同的效果

Checked 已选中该项。仅菜单控件使用此值。
ComboBoxEdit 该项是 ComboBox 的编辑部分。
Default 该项处于它的默认可视状态。
Disabled 该项不可用。
Focus 该项有焦点。
Grayed 该项变灰。仅菜单控件使用此值。
HotLight 该项被热跟踪(当鼠标指针移到该项上时,该项被突出显示)。
Inactive 该项处于非活动状态。
NoAccelerator 该项显示时没有键盘加速键。
NoFocusRect 该项显示时没有指示它是否有焦点的可视化提示。
None 该项当前没有状态。
Selected 该项已选定。
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-01-12
可以通过鼠标位置,listbox的位置,item的高度,item的个数,算出鼠标所以位置的item index,之后对相应的index进行处理,不就行了吗?

c#listobox改变选中行的背景色
只能通过 drawitem 来实现 drawitem 就是要你自己处理所有的项绘制,也就是鼠标点击后虽然项已经选中,但如果你没有绘制选中效果,看起来就好像点击不起作用,你需要通过 DrawItem 事件中的 e.State 来得到当前项的状态,绘制不同的效果 Checked 已选中该项。仅菜单控件使用此值。ComboBoxEdit 该项是...

相似回答
大家正在搜