关于Winform中用ShowDialog打开窗体的一个奇怪问题
飞不动 2008-10-21 10:41:27 一直来很少用.net中的winform编程,最近有个小项目要用vs2005的winform,发现一个让我很郁闷的问题。
我用以下代码打开一个窗体,打开的窗体中有一个DataGridView控件,我编程在DataGridView加入一些行(数据源中加入行,重新邦定的,DataGridView是只读的。)。我加入了几行以后,只要用鼠标选定其中一行,程序出现错误。出错的地方非常奇怪,竟然是在下面的代码中出错。在ShowDialog时出错。我选定frmTrade窗体中的DataGridView,根本没有处理任何事件,也没有关闭窗体去返回一值,程序怎么自动的返回到ShowDialog这句代码中去了。错误提示是:索引 -1 没有值。我百思不得其解,我操作frmTrade的DataGridView控件,跟这句代码没有一点相干的地方,为什么会触发它呢?
frmTrade form = new frmTrade();
if(form.ShowDialog() == DialogResult.OK) //这里出现错误,索引 -1 没有值。 IndexOutRangeException。
{
//刷新页面操作。
}
可能是我表达不够清楚,这个问题确实不好表达,难道是.net的Bug?有谁遇到过同类型的问题吗?