答案 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'
3.选择字符并粘贴到label.Text
看起来像
答案 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()上创建的位图