控件运行后报索引超出范围的问题解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了控件运行后报索引超出范围的问题解决相关的知识,希望对你有一定的参考价值。

错误现象:

错误信息:索引超出范围。必须为非负值并小于集合大小。

参数名: index(开发环境:VS2010,三方控件DotNetBar)

 
一般在程序开发过程中项目报以上的错误,一般在程序界面是没有办法捕获异常的,不过也不是这样的问题就没有办法解决,我们可以在在项目的入口文件:Program.cs中添加一下代码:
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);

static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)

        {

              MessageBox.Show(e.Exception.Message.ToString(), "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);

              logwrite(e);//将异常信息写入日志文件

        }

这样我们就可以捕获到异常,然后可以为进一步分析异常的原因收集资料。

以下是简单的解决方法:

如果在你做程序开发时出现以上的控件问题,并且能够确定是哪一个控件存在异常,我们可以在开发工具编辑状态下打开界面的设计视图,然后在控件的属性窗口中找到赋值的属性项,随意给控件附一个值,看看编译器是否报错,如果在编辑状态下给控件赋值都会出现异常,则表明我们的控件出现了问题,这时候我们只需要将原来的控件删除,然后重新拖入新的控件则问题可以解决,需要注意的是,我们在删除原来的控件前需要将原控件的主要属性值做好备份,拖入新空间后,将原控件的属性值赋给新的控件。

如果给属性项赋值后,控件没有出现我们在运行时报出的错误,则表明我们的控件没有问题,这时,需要我们检查我们运行后动态给控件赋值的代码是否存在问题。

控件索引的问题圆满解决

以上是关于控件运行后报索引超出范围的问题解决的主要内容,如果未能解决你的问题,请参考以下文章

索引超出范围。如何解决

索引超出范围 Python 数值迭代

我如何解决IndexError:列表索引超出范围?

解决 N 个皇后时的数组索引超出范围异常

Datagridview 错误:: 索引超出范围。我该如何解决?

Pytorch:IndexError:索引超出自身范围。怎么解决?