1
我正在使用DrawItem和MeasureItem事件繪製具有OwnerDrawVariable的DrawMode的組合框。VB.NET組合框 - 當按下某個鍵時,需要強制重繪
基本上,我試圖讓用戶使用鼠標突出顯示選擇內容,然後按空格鍵切換歌曲列表的保存狀態。然後我調用表單的Me.Refresh()事件來嘗試重繪表單和組合框。
我遇到的問題是隻有組合框本身(而不是下拉區域)是主窗體上的控件正在重繪,並且鼠標突出顯示的選擇後面的文本因爲我認爲它應該如此,所以下拉列表不會從紅色變爲黑色。如果我將鼠標移動到另一個選區,那麼顏色確實會更新。
下面是代碼的一個片斷。
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()
感謝您提供任何幫助。
這是如何工作的?你使用DrawItem事件嗎? – 2010-07-22 21:06:20
漢斯,我更新了主要帖子,希望能多解釋一下。感謝您的期待! – Darkn3ss 2010-07-22 21:11:41