在VB.NET中显示向下三角形▼(U + 25BC)

时间:2009-02-17 13:42:28

标签: vb.net winforms unicode character-encoding escaping

嘿,我正在试图弄清楚如何在.NET winform应用程序中正确显示▼字符。

我正在创建一个自定义控件,对于按钮,我想要显示这个角色。我可以将文本设置为此字符,但它显示为空白方块。

我需要做些什么才能让这个角色在我的表单上正确显示?

我使用的是Arial字体,与此符号兼容。

编辑:目前设置如下:

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

有关角色的更多信息,请点击此处: http://www.fileformat.info/info/unicode/char/25bc/index.htm

EDIT2 :我尝试添加其他一些Unicode字符,并收到以下消息:

  

“此文件中的某些Unicode字符   目前无法保存   代码页。你想重新保存吗?   文件为Unicode以便维护   你的数据?“

在此消息上单击“是”后,它仍然无效。看来编码方法对于文件可能是错误的...我不知道该将它设置为什么。有没有其他人试图在winform中显示这个角色?

2 个答案:

答案 0 :(得分:11)

如果在源文件中嵌入了更复杂的unicode字符,通常会出现问题(包括源代码控制系统和diff工具)。

通常最好通过显式转义序列来完成它,并使源文件保持更简单的编码。

btnCalendarToggle.Text = "\u25BC";

如果这样可行,则问题可能是源文件的编码设置。

您是否确定有问题的字体是Arial(尝试调试和检查),因为无论上述问题如何,只要编码设置为合法的Unicode(并且Visual Studio将为您转换文件)你将这样一个角色嵌入其中)这应该有效。

答案 1 :(得分:0)

您可以发布您当前使用的代码吗?

如果您知道字符代码,则可以使用chr(int)函数打印字符。

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

尝试一下,看看你的角色是否打印出来。