2010-07-22 1 views
1

Я использую события DrawItem и MeasureItem для рисования combobox с DrawMode OwnerDrawVariable.VB.NET ComboBox - нужно принудительно перерисовать, когда клавиша нажата при ее сбросе

В основном, я пытаюсь, чтобы пользователь выделил выделение с помощью мыши, а затем нажмите пробел, чтобы переключить статус сохранения списка композиций. Затем я вызываю событие Me.Refresh() для формы, чтобы перерисовать форму и ComboBox.

Проблема, с которой я сталкиваюсь, заключается в том, что только перекрестная структура Combobox (а не область раскрывающегося списка), которая является элементом управления основной формой, перерисовывается, а текст, который находится за выделенным мышью выделом drop Список вниз не меняется с красного на черный, как я полагаю. Если переместить мышь на другой выбор, то цвет действительно обновится.

Это фрагмент кода.

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

Как это работает? Вы используете событие DrawItem? –

+0

Ханс, я обновил основную публикацию, надеюсь, объясню немного больше. Спасибо, что посмотрели! – Darkn3ss

ответ