StartIndex不能小于零

Ele*_*iac 1 c# visual-studio-2010

即时通讯文本编辑器和我输入文本的时间然后我删除它错误:

StartIndex不能小于零

指着这段代码:

String line = rtb.Text.Substring(start, end - start);
Run Code Online (Sandbox Code Playgroud)

在textchange事件中:

public void TextChangedEvent(object sender, EventArgs e)
    {
Run Code Online (Sandbox Code Playgroud)

更多:

在此输入图像描述

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

Kai*_*Kai 5

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

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