修改过背景的ListBoxItem不能指示它是否被选中

本文关键字:是否 指示 不能 背景 ListBoxItem 修改 | 更新日期: 2023-09-27 18:04:18

在ListBox的drawwitem事件中,我设置了每个ListBoxItem的背景色,如下所示:

g.FillRectangle(new SolidBrush(Color.LightYellow), e.Bounds);

我现在遇到的唯一问题是,在我改变背景颜色之后,我无法判断何时选择了具有修改背景颜色的ListBoxItem。换句话说,在ListBoxItem修改了背景色之后,当我尝试选择它时,它的背景色不会变为蓝色以表示它已被选中。

我怎么能有我的蛋糕和吃它,通过我的ListBoxItems修改背景表明他们是否被选中了吗?

修改过背景的ListBoxItem不能指示它是否被选中

您应该检查处理程序的DrawItemEventArgs参数的State成员,以确定项目是否被选中(或聚焦等),然后绘制您认为合适的背景

这个链接有一个很好的例子。