Нечетное поведение Combobox Я заполняю элементы в Combobox названиями городов, содержащими специальные символы.В раскрывающемся списке они не отображаются должным образом, но когда я выбираю один, он отображается правильно
ОБНОВЛЕНИЕ 4: Это странная проблема шрифта с ComboBox (см. Комментарии)
ОРИГИНАЛЬНАЯ ПОЧТА:
Вот так я заполняю Combobox из XML-файла:
Public Shared Sub PopulateCities()
Dim strPath As String = System.IO.Path.GetDirectoryName(
System.Reflection.Assembly.GetExecutingAssembly().CodeBase)
Dim ds As New DataSet
Dim i As Integer
ds.InferXmlSchema(Strings.Mid(strPath, 7) + "/cities.xml", Nothing)
ds.ReadXml(Strings.Mid(strPath, 7) + "/cities.xml")
If ds.Tables.Count > 0 Then
Dim a As String
For i = 0 To ds.Tables(0).Rows.Count - 1
a = ds.Tables(0).Rows(i).Item("NOME")
MainForm.LocationBox.Items.Add(a)
Next
End If
End Sub
Элементы в списке должны отображаться так же, как текущий элемент в Combobox.
ОБНОВЛЕНИЕ:
При переключении на системный шрифт проблема не появляется, но мне нужно использовать свой собственный шрифт. ComboBox с использованием системного шрифта
Шрифт назначается программно следующим образом:
Public Shared pfc As PrivateFontCollection = New PrivateFontCollection()
Dim strPath As String = System.IO.Path.GetDirectoryName(
System.Reflection.Assembly.GetExecutingAssembly().CodeBase)
REM Loading Font files
pfc.AddFontFile(Strings.Mid(strPath, 7) & "\magickfont.ttf")
SetMagickFont(LocationBox)
Public Sub SetMagickFont(obj As Object)
Dim s As Single = obj.font.size
Dim fs As FontStyle = obj.font.style
obj.font = New Font(pfc.Families(0), s, fs)
obj.invalidate
End Sub
ОБНОВЛЕНИЕ 2:
Сохранение моего шрифта и добавление
MainForm.LocationBox.Items.Add("Zürich åäö")
Получает тот же нечетный результат. Добавление элемента в ComboBox вручную