最近在做一个项目时遇到需要在文本框中进行上下标的处理,单纯的文本控件TextBox满足不了这个功能,必须使用RichTextBox富文本控件来实现,具体效果如下:
未设置上标字体大小前:设置上标的字体大小后
具体的代码如下:
this.richTextBox1.SelectedText = "mm";
this.richTextBox1.SelectionFont = new Font("宋体", 8, FontStyle.Regular);
this.richTextBox1.SelectionCharOffset = 3; //位移的像素,正数为上移,负数为下移
this.richTextBox1.SelectedText = "2";
代码很简单,但是有个注意事项:this.richTextBox1.SelectionFont = new Font("宋体", 8, FontStyle.Regular);此行代码的位置很关键,如果在最后一行或者第一行显示,那么整个richTextBox1的字体大小都是8了,整个显示都很小;如果不设置,默认的字体是10号字体,显示的上面的那个2很大,效果不好如上图所示。