最近在做一個項目時遇到需要在文本框中進行上下標的處理,單純的文本控件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很大,效果不好如上圖所示。
