[求助]窗口最小化后,为何调用dataGrid.TableStyles.Clear()会报错?
初始化时,实例化了DataGridTableStyle,并将其加入dataGrid.TableStyles。下面代码的dataGrid.TableStyles.Count=1,有一个定时器周期性地执行下列代码。
if(dataGrid.TableStyles.Count>0)
dataGrid.TableStyles.Clear();
DataGridTableStyle ts1 = new DataGridTableStyle();
...
...
dataGrid.TableStyles.Add(ts1);
窗口未最小化时,程序执行正常,但一旦最小化,就报错:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.ArgumentException: '0' is not a valid value for 'value'. 'value' should be between 'minimum' and 'maximum'.
at System.Windows.Forms.ScrollBar.set_Value(Int32 value)
at System.Windows.Forms.DataGrid.SetDataGridTable(DataGridTableStyle newTable, Boolean forceColumnCreation)
at System.Windows.Forms.DataGrid.TableStylesCollectionChanged(Object sender, CollectionChangeEventArgs ccea)
at System.Windows.Forms.GridTableStylesCollection.OnCollectionChanged(CollectionChangeEventArgs ccevent)
at System.Windows.Forms.GridTableStylesCollection.Clear()
at NetPolice.Form1.ApplyStyleToTimeTable(DataGrid dataGrid, String[] sourceCol, String[] desCol, Single[] ratio, Int32 margin) in e:\np78\wlxj0804\form1.cs:line 2230
at NetPolice.Form1.tabButtons2_Click(Object sender, EventArgs e) in e:\np78\wlxj0804\form1.cs:line 2411
at NetPolice.Form1.timer1_Tick(Object sender, EventArgs e) in e:\np78\wlxj0804\form1.cs:line 2580
at System.Windows.Forms.Timer.OnTick(EventArgs e)
at System.Windows.Forms.Timer.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr idEvent, IntPtr dwTime)
单步跟踪,查找出是dataGrid.TableStyles.Clear();语句报错。
不吝赐教!