Ultrabutton在运行应用程序时不在文本属性中显示unicode字符

时间:2013-01-22 18:23:38

标签: c# winforms button infragistics

我正在尝试将UltraButton的text属性显示为此unicode字符 - ▼。 我试图从字符映射中复制它,并尝试类似 -

button1.Text = "\u2129"

问题是它们都在VS中显示设计器模式中的箭头,但是当我运行应用程序时,它会显示一个无法识别的符号。我已经浏览了this linkthis link,但箭头只显示在设计器视图中,而不是在运行应用程序时。为什么会这样呢?另外,我将字体名称设置为'Arial Unicode MS'

Buttons in Designer View

Buttons while running application

1 个答案:

答案 0 :(得分:1)

我猜你遇到的问题是UltraButton独有的。从您刚刚发布的图像看起来,您可能只需使用标准的Windows按钮即可。如果可以,只需打开ClassName.Designer.cs并找到按钮文本的设置位置。将实际字符复制到文本字符串中:

this.YourButton.Text = "▼";

这在设计器和运行应用程序时都能正确显示。

如果您确实不想使用标准Windows窗体按钮,则可以始终将文本转换为图像并将图像添加到按钮。看起来像这样:

string text = "▼";
Font font = new Font("Arial Unicode MS", 12f);
Image img = new Bitmap(1, 1);
Graphics drawing = Graphics.FromImage(img);
SizeF textsize = drawing.MeasureString(text, font);
img.Dispose();
drawing.Dispose();
img = new Bitmap((int) textsize.Width, (int)textsize.Height);
drawing = Graphics.FromImage(img);
drawing.Clear(YourButton.BackColor);
Brush textBrush = new SolidBrush(Color.Black);
drawing.DrawString(text, font, textBrush, 0, 0);
drawing.Save();
textBrush.Dispose();
drawing.Dispose();

YourButton.Text = "";
YourButton.Image = img;
相关问题