C#需要帮助编辑我的行编号代码

问题描述:

我得到了一个行编号的代码,它对于常规方式编号行非常合适,但我正在寻找一些有点不同的东西。我希望我的代码只在计算换行符时按下回车键(程序收到返回键码),而不是文本框自动切换换行。这是我现在使用的代码:C#需要帮助编辑我的行编号代码

//Instructions 
    int maxLC = 1; //maxLineCount - should be public 
    private void InstructionsSyncTextBox_KeyUp(object sender, KeyEventArgs e) 
    { 
     int linecount = InstructionsSyncTextBox.GetLineFromCharIndex(InstructionsSyncTextBox.TextLength) + 1; 
     if (linecount != maxLC) 
     { 
      InstructionsLineNumberSyncTextBox.Clear(); 
      for (int i = 1; i < linecount + 1; i++) 
      { 
       InstructionsLineNumberSyncTextBox.AppendText(Convert.ToString(i) + "\n"); 
      } 
      maxLC = linecount; 
     } 
    } 

如何,我认为我会做最简单的就是通过保存行计数每次有人按下回车键的清单,并每次有人按下回车键将更新线路数字texbox与列表中的位置处的每个行号。但我不知道如何检测退货何时被删除。任何人都知道如何解决这个问题?

+0

你就不能使用正则表达式和搜索\ R的所有实例? – 2013-02-28 03:38:56

计数在你的代码行非常简单的例子,你贴:

class Program 
    { 
     static void Main(string[] args) 
     { 
      string stringFromTextBox = 
@" int maxLC = 1; //maxLineCount - should be public 
    private void InstructionsSyncTextBox_KeyUp(object sender, KeyEventArgs e) 
    { 
     int linecount = InstructionsSyncTextBox.GetLineFromCharIndex(InstructionsSyncTextBox.TextLength) + 1; 
     if (linecount != maxLC) 
     { 
      InstructionsLineNumberSyncTextBox.Clear(); 
      for (int i = 1; i < linecount + 1; i++) 
      { 
       InstructionsLineNumberSyncTextBox.AppendText(Convert.ToString(i) + ""\n""); 
      } 
      maxLC = linecount; 
     } 
    }"; 
      Regex r = new Regex("\r", RegexOptions.Multiline); 
      int lines = r.Matches(stringFromTextBox).Count; 
      //You'll need to run this line every time the user presses a key 

     } 
    } 
+0

我不知道你是否错过了我所写的内容,或者你是否在拖钓,但这绝不是我需要的帮助。我需要编辑的代码只计算回报,不计算行我int他的代码张贴... – 2013-02-28 22:09:26

+0

我发布的代码完全是这样的,它计算了字符串中的所有返回。如果您需要保留每个返回的位置,则由'r.Matches'返回的'MatchCollection'也将包含该数据。除此之外,你将不得不澄清你的问题,因为这就是你问的问题。 – 2013-03-01 03:17:14