是否无法在Windows窗体文本框中粘贴中文字符

时间:2011-04-13 08:42:02

标签: c# winforms unicode textbox cjk

我正在使用WinForm应用程序,我有一个文本框,我正在粘贴Google Translator的文本。我用几种Sematic和Indo语言得到了积极的结果,但中文字符显示为Boxes。

有没有办法克服这个问题?

1 个答案:

答案 0 :(得分:4)

您应该使用支持CJK编码的适当Unicode字体。更好的是“Arial Unicode MS”,但它可能不存在 操作系统早于未安装MS Office的Vista。在这种情况下,您可以使用其他字体,如“NSimSun”。

string arialUnicodeFontFace = "Arial Unicode MS";
Font unicodeFont = new Font(arialUnicodeFontFace, fontSize);
if (unicodeFont.Name != arialUnicodeFontFace)
    unicodeFont = new Font("NSimSun", fontSize);

yourTextBox.Font = unicodeFont;

您还可以查看不同Windows版本中所有受支持的CJK字体的列表: http://en.wikipedia.org/wiki/List_of_CJK_fonts