找回密码
 立即注册

QQ登录

只需一步,快速开始

gaishitaibao
初级会员   /  发表于:2012-6-18 09:58  /   查看:6478  /  回复:3
急急急,如何在TX中显示行号啊,如图所示:
1234.PNG

3 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2012-6-18 10:41:00
沙发
回复 1楼gaishitaibao的帖子

实现方法如下:

  1. private Brush LINE_COLOR = new SolidBrush(Color.Gray);
  2.         private int LINE_DISTANCE = 40;

  3.         private void linenumberToolStripMenuItem_Click(object sender, EventArgs e)
  4.         {
  5.             textControl1.Refresh(); Graphics g = textControl1.CreateGraphics();
  6.             int DPI = (int)(1440 / g.DpiX); foreach (TXTextControl.Line line in textControl1.Lines) { g.DrawString(line.Number.ToString() + ":", new Font(textControl1.Font.Name, textControl1.Font.Size), LINE_COLOR, new PointF(((line.TextBounds.X / DPI) - LINE_DISTANCE) - (textControl1.ScrollLocation.X / DPI), (line.TextBounds.Top / DPI) - (textControl1.ScrollLocation.Y / DPI))); }
  7.         }
复制代码
回复 使用道具 举报
gaishitaibao
初级会员   /  发表于:2012-6-18 11:20:00
板凳
回复 2楼iceman的帖子

非常感谢,但是好像只能一次显示有限的行数,显示后面的行数时,前面的自动消失了,怎样才能让所有的行号都一直保持呢?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-6-18 11:38:00
地板
回复 3楼gaishitaibao的帖子

楼主可以在:textControl1_InputPositionChanged 事件中添加该方法。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部