Как я вижу этот специальный символ в C # /. NET winform? - PullRequest
1 голос
/ 11 августа 2011

Существует специальный символ, который можно увидеть здесь http://www.fileformat.info/info/unicode/char/1f4a9/index.htm

У меня есть правильный шрифт для него, я даже могу скопировать / вставить его в Firefox.Я могу видеть текст в Firefox без использования изображения.Но когда я вставляю это в winforms, я не делаю.Я вижу две коробки с ? внутри каждой.Это одно письмо.Как ни странно, я могу скопировать текст и вставить его в Firefox и увидеть его правильно.(Обратите внимание, я удостоверился, что скопировал / вставил обычный текст в Firefox, чтобы убедиться, что я не копирую то, что я изначально скопировал).

Я устанавливаю шрифт так, чтобы textBox3.Font = new Font("symbola", 12); Symbola имел шрифт, необходимый для просмотраособый персонаж.На самом деле, прежде чем я скачал его и щелкнул правой кнопкой мыши по установке в файл ttf Firefox не показал символ правильно.С тех пор я перезагружал компьютер.

Как получить winform для правильного отображения персонажа?

Ответы [ 2 ]

4 голосов
/ 11 августа 2011

Это работает для меня:

private void Form1_Load(object sender, EventArgs e)
{
  button1.Font = new Font("symbola", 16); 
  button1.Text = "\U0001F4A9";
}

2 замечания:

  • Символ отсутствует в BMP: его нельзя представить с помощью одного 16-битного слова.На языке UTF16 это суррогатная пара.Обратите внимание на специальную кодировку, требуемую в исходном коде выше.Кроме того, это представление не работает в свойствах дизайнера WinForms.Мне пришлось назначить текст в кодовом файле класса.
  • Я также не смог назначить шрифт в свойствах дизайнера WinForms: он жалуется, что это не True Type, как кажется.Снова, назначение шрифта в коде работало.

FWIW, мой тест был выполнен с использованием VS2008 и .NET 3.5 под Win7 x64

РЕДАКТИРОВАТЬ: я также проверил его под VS2010 /.NET 4 и .NET 3.5: работает как шарм

1 голос
/ 11 августа 2011

Вы можете попробовать использовать RichTextBox. У меня периодически возникали проблемы с использованием Unicode на обычном TextBox, даже если все шрифты установлены правильно. Это почти всегда работает, когда вы устанавливаете его из кода, но иногда возникают проблемы с интерактивностью. Во всяком случае, я никогда не знаю причину этого, но RichTextBox обычно работает в этих ситуациях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...