2009-02-17 5 views
3

Эй, я пытаюсь понять, как правильно отображать символ ▼ в приложении .NET winform.Отображение нисходящего треугольника в VB.NET ▼ (U + 25BC)

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

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

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

EDIT: В настоящее время устанавливается следующим образом:

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

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

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

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

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

+0

Если все, что вы используете для этого, это кнопка, и только для отображения визуальной концепции стрелки вниз, я просто использовал бы изображение для кнопки. – Charlie

+0

Предложите вам использовать изображение или использовать явную escape-последовательность, предложенную ShuggyCoUk. Изменение ваших файлов кода suce в виде unicode может вызвать проблемы с контролем источника –

+0

Теперь он работает нормально, используя кодировку UTF-8.Эвакуационная последовательность - это путь. Спасибо за помощь, ребята! – jgallant

ответ

11

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

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

btnCalendarToggle.Text = "\u25BC"; 

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

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

+0

Для справки, стрелка вверх - btnCalendarToggle.Text = "\ u25B2"; – user2721815

0

вы можете разместить код, который вы сейчас используете?

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

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

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