项目需要一个带有行数和标尺功能的RichTextBox,先是打算在RichTextBox里面自画,但最终没有实现,最终用UserControl实现了该功能.
1.原理:
1)行数:在RichTextBox旁边放一个Label,设置Label字体大小,然后在RichTextBox的TextChaged方法中判断是否换行,换行就重新为Label设值.
2)标尺:在RichTextBox上面放一个Panel,在Panel上面画尺.
代码如下:
 1带有行数和标尺的RichTextBoxusing System;
 2带有行数和标尺的RichTextBoxusing System.Collections.Generic;
 3带有行数和标尺的RichTextBoxusing System.ComponentModel;
 4带有行数和标尺的RichTextBoxusing System.Drawing;
 5带有行数和标尺的RichTextBoxusing System.Data;
 6带有行数和标尺的RichTextBoxusing System.Text;
 7带有行数和标尺的RichTextBoxusing System.Windows.Forms;
 8带有行数和标尺的RichTextBox
 9带有行数和标尺的RichTextBoxnamespace NumberedTextBox
10
 1带有行数和标尺的RichTextBoxusing System;
 2带有行数和标尺的RichTextBoxusing System.Collections.Generic;
 3带有行数和标尺的RichTextBoxusing System.Text;
 4带有行数和标尺的RichTextBoxusing System.Drawing;
 5带有行数和标尺的RichTextBoxusing System.Windows.Forms;
 6带有行数和标尺的RichTextBox
 7带有行数和标尺的RichTextBoxnamespace Yqun.Client.ReportTools
 8

最终实现效果图:

相关文章: