Đó là do source code trong Vistatheme ! Mà cái này không phải là lỗi Font mà là dùng Font "MS Sans Serif" nên có ký tự "|"
Bạn tìm trong source Vista.ctl dòng chử đỏ trong đoạn code sau :
Public Sub ThemeCombobox(hWnd As Long, lHDC As Long, State As Integer, plDraw As Integer, cLeft As Long, cTop As Long, cRight As Long, cBottom As Long)
If plDraw = 1 Then
'Draw Button DropDown
If State = 2 Then
m.DrawGradient lHDC, cLeft, cTop, cRight, cBottom, m.TranslateColors(&HFFFBF8), m.TranslateColors(&HFFECD2), True
m.DrawRoundSquare lHDC, cLeft, cTop, cRight, cBottom, m.TranslateColors(&HD5A96C)
ElseIf (State = 1) Or (State = 5) Then
m.DrawFill lHDC, cLeft, cTop, cRight, cBottom, m.TranslateColors(vbWindowBackground)
ElseIf State = 3 Then
m.DrawGradient lHDC, cLeft, cTop, cRight, cBottom, m.ColorToRGB(&HFFFBF8, , , , -20), m.ColorToRGB(&HFFECD2, , , , -20), True
m.DrawRoundSquare lHDC, cLeft, cTop, cRight, cBottom, m.TranslateColors(&HD5A96C)
ElseIf State = 4 Then
m.DrawFill lHDC, cLeft, cTop, cRight, cBottom, m.TranslateColors(vbWindowBackground)
End If
m.DrawImage lHDC, MuiTenDown.Picture, (cRight - cLeft) / 2 - 6, (cBottom - cTop) / 2 - 6, 13, 13
ElseIf plDraw = 0 Then
'Draw Border
m.DrawFill lHDC, cLeft, cTop, cRight, cBottom, vbWindowBackground
m.DrawRoundSquare lHDC, cLeft, cTop, cRight, cBottom, &H5A5858
ElseIf plDraw = 2 Then
'Draw List
m.DrawFill lHDC, cLeft, cTop, cRight, cBottom, m.TranslateColors(&HF6E7C5)
m.DrawTextSupport lHDC, PtrStr(hWnd), UserControl.Font, cLeft + 3, cTop, cRight, cBottom, vbBlack, , , DT_CENTER & DT_EXPANDTABS 'Đoạn đó là vẽ text khi MouseOver
'Bạn sửa lại Usercontrol.Font bằng 1 font nào khác bất kỳ có unicode
End If
End Sub
Hay khỏi sửa cái đó thì chọn font khác cho Usercontrol là được,ví dụ "Tahoma" chẳng hạn.Hoặc là tạo riêng cho Usercontrol một property Font dùng chung cũng được.