c# - StartIndex 不能小于零

标签 c# visual-studio-2010

我在一个文本编辑器上工作,当我在上面输入文本然后删除它时出现错误:

StartIndex cannot be less than zero

指向这段代码:

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

在 textchange 事件中:

public void TextChangedEvent(object sender, EventArgs e)
    {

更进一步:

enter image description here

请帮助我如何修复该错误!非常感谢!

最佳答案

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

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

关于c# - StartIndex 不能小于零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16455248/

相关文章:

visual-studio-2010 - Visual Studio 2010 SharePoint 开发工具 - 可以重命名 "Feature1.feature"吗?

visual-studio-2010 - VS2010 中的 ReSharper 8.0 调试插件第一次工作,随后尝试出错

c# - 为什么错误列表不给它的错误编号 1-x?而是 y-(y+x)

c# - Scaffold-DbContext SQL View ? ASP 网络核心 3.1

c# - 我可以通过 C++/CLI 包装器将 C# 数组传递给 C 指针吗?

c# - 如果使用 NSubstitute 出现问题,则模拟抛出异常的方法

c# - 外部异常未处理。 GDI+ 中发生一般错误。仅在第二次通话时

visual-studio-2010 - EF4 和连接字符串

c# - PLINQ 和 AsParallel()

php - 用 C 创建 PHP 扩展