7

如何在标签或表单名称属性中显示上标字符串。

在此处输入图像描述

我发现很少有这样的问题,想知道是否有办法为像“az”这样的角色做这件事?

4

3 回答 3

7

在charmap.exe中已经存在某些字符,如果您专门寻找X,那么可以使用charmap 实用程序。

1.Windows + R >> 打开charmap.exe

2.向下滚动并查找您的特定角色,在您的情况下是“X”

在此处输入图像描述

3.选择字符并粘贴到属性中,如label.Text

它看起来像

在此处输入图像描述

于 2013-10-30T13:27:21.667 回答
4

您应该更好地依赖用于 text-decoration: 的控件RichTextBox。您可以对其进行配置,使其看起来像Label. 示例代码(richTextBox1在主窗体上):

richTextBox1.BackColor = richTextBox1.Parent.BackColor; //Backcolor of the RTB's container
richTextBox1.BorderStyle = BorderStyle.None;
richTextBox1.Text = "Bloggerx";
richTextBox1.Font = new Font(richTextBox1.Font.FontFamily, 10);
richTextBox1.SelectionStart = 7;
richTextBox1.SelectionLength = 1;
richTextBox1.SelectionCharOffset = 5;
richTextBox1.SelectionLength = 0;

您的另一个选择是依靠两个不同的标签,充分协调以获得您想要的外观。

更新

还有另一种选择(尽管我个人不会使用它),它正在使用编码和字体系列(其中一些支持超级和子脚本)。在我看来,另一个答案提出了一种非常糟糕的方法来解释这种替代方案(依赖于外部程序);有更好的方法来实现它。但是,无论如何,我不认为这是一种系统的、可靠的、易于实现的方法(你必须找到相应的格式,并确保它涵盖了你想要的所有情况);但值得一提的是。

于 2013-10-30T13:06:53.840 回答
4

对于这种情况,确实有一个简单的答案。使用统一码。只需检查https://en.wikipedia.org/wiki/Unicode_subscripts_and_superscripts

这是一个例子

a=5ˣ;

将其用于标签的方法是:

labelTemperature.Text = "84" + ("\u2070"); 

至于 RichTextBox 的使用,varocarbas我没有看到问题的解决方案,而是将 RichTextBox 转换为其可怜的表亲 Label 的方法。顺便说一下 RichTextBox 应该设置为没有多行并且是只读的。但是使富文本框无法使用的原因是它不支持透明颜色,而透明颜色是标签的主要优势。当我自己面对这个问题时,RichTextBox 没有显示在 control.DrawToBitmap() 创建的位图上

于 2018-03-16T04:09:33.750 回答