views:

225

answers:

2

C# doesn't want to put Unicode characters on buttons. If I put \u2129 in the Text attribute of the button, the button displays the \u2129, not the Unicode character, (example - I chose 2129 because I could see it in the font currently active on the machine).

I saw this question before, link text, but the question isn't really answered, just got around. I am working on applications which are going all over the world, and don't want to install all the fonts, more then "don't want", there are that many that I doubt the machine I am working on has sufficient disk space. Our overseas sales agents supply the Unicode character "numbers". Is there another way forward with this?

As an aside, (curiosity), why does it not work?

A: 

have you tried entering the characters manually? also, have you tried using a literal string with @"blahblahblah" ?

David
+2  A: 

The issue is:

  • C# will let you put Unicode in, like button1.Text = "Hello \u2129";, no problem
  • but the Visual Studio Forms designer will not recognize '\u2129' as anything special. By design.

So just paste in the '℩' in the Properties Window or use code.

Henk Holterman
@Frederik: the Unicode escape sequence '\u????' can be used in chars or strings, so it is not important that the char is concatenated to the string: it could just have easily been written button1.Text = "Hello\u2129".
Paul Ruane
@Paul (and @Henk): true, didn't think that far. I'll remove my comment to avoid confusion
Fredrik Mörk