我遇到ComboBox控件在調整大小時將更改其Text值的問題。這裏是我的工作了一些示例代碼:該停靠到頂部調整大小時的奇數組合框行爲
Option Explicit On
Option Strict On
Public Class FMain
Private Sub FMain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
uxComboBox.DropDownStyle = ComboBoxStyle.DropDown
uxComboBox.AutoCompleteSource = AutoCompleteSource.ListItems
uxComboBox.AutoCompleteMode = AutoCompleteMode.Suggest
ComboTest()
End Sub
Private Sub ComboTest()
Dim value As String = "6"
uxComboBox.Text = String.Empty
uxComboBox.Items.Clear()
uxComboBox.Items.AddRange(New String() {"4 9/16", "6 9/16", "7 9/16", "8 9/16"})
Dim index As Integer = uxComboBox.FindStringExact(value)
If uxComboBox.SelectedIndex index Then
uxComboBox.SelectedIndex = index
End If
If uxComboBox.SelectedIndex = -1 AndAlso _
Not String.Equals(uxComboBox.Text, value, StringComparison.OrdinalIgnoreCase) Then
uxComboBox.Text = value
End If
' unselect the text in the combobox
'
uxComboBox.Select(0, 0)
End Sub
End Class
需要注意的是這種形式(FMain)上有(uxComboBox)一個組合框。當我運行代碼時,我發現組合框的值爲「6」,這是我所期望的。當我然後調整窗體大小時,組合框的值爲「6 9/16」,這就是我期望的NOT。
有誰知道爲什麼會發生這種情況?任何建議的解決方法?
謝謝!
斯蒂芬
感謝您的信息。我們剛剛完成從VB6遷移到.NET,並且在VB6應用程序中不會發生此問題。任何想法爲什麼? – StephenM 2010-01-28 15:41:52
這可能是一個主題錯誤。這些UI錯誤大部分都是。 VB6不啓用視覺樣式。並使用大量的無窗口控件。 – 2010-01-28 16:03:15
很高興知道。謝謝! – StephenM 2010-01-28 16:29:54