我使用DrawItem和MeasureItem事件绘制一个Combobox,其DrawMode为OwnerDrawVariable。
基本上,我试图让用户用鼠标突出显示一个选项,然后按空格键切换歌曲列表的保存状态。然后我调用表单的Me.Refresh()事件,试图重绘表单和ComboBox。
我遇到的问题是,只有作为主窗体上的控件的Combobox本身(不是下拉区域)正在重绘,并且鼠标突出显示的选项后面的文本 - 我认为应该将下表从红色变为黑色。如果我将鼠标移动到另一个选择,那么颜色实际上会更新。
以下是代码片段。
If (e.KeyCode = Keys.Space) Then
If cmbList.SelectedItem IsNot Nothing Then
With DirectCast(cmbList.SelectedItem, SongTitle)
.bSave = Not .bSave
End With
End If
End If
e.Handled = True
Me.Refresh()
感谢您提供的任何帮助。
答案 0 :(得分:1)