Отображение нисходящего треугольника в VB.NET ▼ (U + 25BC) - PullRequest
3 голосов
/ 17 февраля 2009

Эй, я пытаюсь понять, как правильно отображать символ ▼ в WinNET-приложении .NET.

Я создаю пользовательский элемент управления, и для кнопки я хочу, чтобы этот символ появился. Я могу установить текст для этого символа, но он отображается как пустой квадрат.

Есть идеи, что мне нужно сделать, чтобы этот персонаж правильно отображался в моих формах?

Я использую шрифт Arial, который совместим с этим символом.

РЕДАКТИРОВАТЬ : в настоящее время устанавливается следующим образом:

btnCalendarToggle.Text = "▼"  'Yes, it appears exactly like this in my code

Более подробную информацию о персонаже можно найти здесь: http://www.fileformat.info/info/unicode/char/25bc/index.htm

EDIT2 : я попытался добавить некоторые другие символы Юникода и получил следующее сообщение:

"Некоторые символы Юникода в этом файле невозможно сохранить в текущем кодовая. Вы хотите восстановить это файл как Unicode для того, чтобы поддерживать ваши данные? "

После нажатия YES на это сообщение оно все равно не сработало. Похоже, что метод кодирования может быть неправильным для файла ... Я не знаю, что его установить. Кто-нибудь еще пытался отобразить этот символ в winform раньше?

Ответы [ 2 ]

11 голосов
/ 17 февраля 2009

Часто могут возникать проблемы (как с системами контроля версий, так и с инструментами сравнения), если вы встраиваете более сложные символы Юникода в исходные файлы.

Часто лучше сделать это через явную escape-последовательность и сохранить исходный файл в более простой кодировке.

btnCalendarToggle.Text = "\u25BC";

Если это работает, скорее всего, проблема в настройках кодирования исходного файла.

Вы уверены, однако, что данный шрифт является Arial (попробуйте отладку и проверку), поскольку независимо от вышеупомянутых проблем, если кодировка установлена ​​на допустимый Unicode (и Visual Studio преобразует файл для вас, если вы вставляете в него такого персонажа) это должно сработать.

0 голосов
/ 17 февраля 2009

Можете ли вы опубликовать код, который вы используете в настоящее время?

Вы можете распечатать символы, используя функцию chr (int), если знаете код символа.

Dim i As Integer
For i = 0 To 255
    txtTest.Text = txtTest.Text & Chr(i) & " -- " & i.ToString() & Environment.NewLine
Next i

Попробуйте и посмотрите, печатает ли ваш персонаж.

...