StartIndex不能小于零

时间:2013-05-09 05:49:19

标签: c# visual-studio-2010

我正在处理一个文本编辑器和我在其上输入文本的时间然后我将其删除错误:

  

StartIndex不能小于零

指着这段代码:

String line = rtb.Text.Substring(start, end - start);

在textchange事件中:

public void TextChangedEvent(object sender, EventArgs e)
    {

更多:

enter image description here

请帮助我如何解决这个错误!非常感谢!

1 个答案:

答案 0 :(得分:5)

显然返回rtb.SelectionStart零,你的代码减去-1,结果为-1。简单的解决方案是

if(rtb.SelectionStart > 0)
{
   for(start = rtb.SelectionStart - 1; start > 0; start--)
   {
     if(rtb.Text[start] == '\n') { start++; break; }
   }
}