早安。
我正在尝试在mysql中查询时添加进度条。当数据集开始填充时,我检测到表单完全冻结。我也知道查询很复杂,因此我尝试配置一个背景工作人员,并在到达填充过程时再次配置表单冻结,并且进度条在数据集完成填充之前不起作用。如何防止表单冻结或使用backgroundworker,以便数据集填充与进度条异步工作?我的代码是这样的:
try
{
Cursor = Cursors.WaitCursor;
MySqlDataAdapter da = new MySqlDataAdapter(SetValueForQuery, Conector());
DataSet ds = new DataSet();
**da.Fill(ds);**
SetValueForDataSet = ds;
}
finally
{ Cursor = Cursors.Default; }
您应该尝试使查询异步。
示例:
public void Main(String[] args){
Thread asyncWorker = new Thread(Work); //Creates the Thread
asyncWorker.Start(); //Starts the Thread
Console.ReadKey(); //Makes the Main Thread busy
}
public void Work(){
while(true)
Console.WriteLine("I'm busy");
}