VB.NET ComboBox - 在按下键时按下键时需要强制重绘

时间:2010-07-22 20:38:18

标签: vb.net combobox events gdi+ paint

我使用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()

感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:1)