SuperScript标签或表单名称

时间:2013-10-30 12:37:37

标签: c# winforms superscript

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

enter image description here

我发现这样的问题很少one,但是想知道是否有办法为像#a; z'?

这样的角色做这件事。

3 个答案:

答案 0 :(得分:4)

您应该更好地依赖用于文本修饰的控件: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;

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

更新

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

答案 1 :(得分:4)

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

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

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

enter image description here

3.选择字符并粘贴到label.Text

等属性中

看起来像

enter image description here

答案 2 :(得分:1)

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

这是一个例子

a=5ˣ;

将其用于标签的方法是:

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

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