关于调用自己写控件库后,导致主窗体出现索引超范围,或者值无效等等的问题,以下是解决方法
果然每天都是写bug修bug的过程,遇到bug查到最后才知道结果
错误如下图,该错误在代码中并不会报红。大家可以看看能否解决。
自定义窗体控件,在调用的时候会有一个预读的过程,这个时候如果我们定义下拉菜单,如下:
comboBox1.Items.Clear();
comboBox1.Items.Add(“123”);
for (int i = 0; i < 5; i++)
{
comboBox1.Items.Add(“345”);
}
comboBox1.Text = comboBox1.Items[0].ToString();
拉出来的控件就会显示123,而不会显示345。
一但comboBox1.Items.Add(“123”);这句去除掉,程序不会报红,而
使用了该控件的窗体就会出错,同时该控件也无法使用。而程序运行却能正常运行,
因为预读的时候并不进入for循环;
该错误就比如下面的代码,Console.WriteLine(str1);,会报str1上下文不存在一样,不过这个会报红。
for (int i = 0; i < 5; i++)
{
string str1 = “22”;
}
Console.WriteLine(str1);