如何添加一个新行的RichTextBox未做空间/空行新行之后?

问题描述:

private void richTextBox1_KeyDown(object sender, KeyEventArgs e) 
     { 
      if (e.KeyCode == Keys.Enter) 
      { 
       string lastpadnum = padnumbers[padnumbers.Count - 1]; 
       int desiredLength = lastpadnum.Length; 
       int nextnum = Convert.ToInt32(lastpadnum) + 1; 
       string nextpadnum = nextnum.ToString().PadLeft(desiredLength, '0'); 
       padnumbers.Add(nextpadnum); 
       richTextBox1.AppendText("\r\n" + nextpadnum); 
      } 
     } 

,如果我向下滚动到RichTextBox的底部,并点击进入,将添加一个新行工作一次。 如果最后一行是191新的人会192.或者,如果最后一次是000191新的人会000192.如何添加一个新行的RichTextBox未做空间/空行新行之后?

但我有两个问题:

首先,这是工作仅我滚动到底部并添加新的最后一行后点击输入。但是,如果我想添加一个新行并在两个现有行中间的某个位置给它一个数字?那我如何重新编号?例如,如果我点击进入线0033和0035之间的键,然后按新的生产线是0034,但线0034是已经存在的应该是现在0035和0035将是0036 ...

第二个问题是,在每一次底部我将点击进入它将使新行空的新行,然后将添加行。我需要的“\ r \ n”来使新的生产线,但随后下一次我点击进入,会先做出新的空行。我如何避免空行,但它会在最后一行后添加一个新行?

+0

什么是padnumbers?给我们更多的数据! –

+0

你想要做什么,为什么? – ilansch

对于你的第一个问题,如果你在中间按Enter键,它会在底部添加新的行,所以0034存在的将是0035. 但是如果你需要做一些处理插入位置为你可以看看this post

关于第二个问题,我检查你的代码,你只需要,因为当你按下回车键,你增加新的生产线,从你的代码中删除\ r \ n。 如果你想保持\ r \ n您可以使用

e.SuppressKeyPress=true; 

这将禁用了输入键使新线。

+0

'AppendText()'不添加新行! –

+0

是的你是对的我编辑,他按输入增加新行。 – mmm