c#如何使用线程操作datagridview

我在做一个数据查询报表软件,想从数据库中取出数据,然后放入datagridview中。这个功能已经实现。我想做的是,利用线程来操作写入datagridview。
问题:当写入datagridview完毕后,貌似线程把该控件给卡住了,没有办法拖动它的滚动条,请问各位大侠如何解决?
希望给出一个示例,谢谢

第1个回答  2010-01-04
public delegate void Handler(FlexCell.Grid param1, int param2);

/// <summary>
/// 锁定行(供线程内部使用)
/// </summary>
/// <param name="cellGrid">需要锁定的Flex控件</param>
/// <param name="row">需要锁定的行</param>
public static void lockCell(FlexCell.Grid cellGrid, int row)
{
//EventHandler ehLockCell = new EventHandler(flexCell_Lock);
//ehLockCell(this, null);
if (cellGrid.InvokeRequired)
{
//Handler handlock = new Handler(lockCell);
cellGrid.Invoke(new Handler(lockCell), new object[] { cellGrid, row });

}
else
{
lock (cellGrid)
{
//FlexCell.Grid cellBanlance = (FlexCell.Grid)tabBalance.TabPages["2008"].Controls[0];
cellGrid.Row(row).Locked = true;
cellGrid.Range(row, 2, row, cellGrid.Cols - 1).BackColor = AppHelper.MatchColorScheme(6);
}
}
}本回答被提问者采纳
第2个回答  2010-01-04
用delegate
创建一个thread,然后用invoke调用delegate对应的函数
相似回答