查询数据库的数据,是个比较费时的工作,请问如何在使用线程查询的时候显示个进度条?
查询数据库的数据,是个比较费时的工作,请问如何在使用线程查询的时候显示个进度条?
我的现有代码如下,请问加进度条怎么写:
Thread tSo;
public delegate void PDelegate();
/// 开始查询提示
/// </summary>
private void SetInfoBegin()
{
this.label2.Text = "正在查询电价数据...";
}
/// <summary>
/// 查询完成提示
/// </summary>
private void SetInfoEnd()
{
this.label2.Text = "查询结束";
}
void ThreadWork()
{
label2.BeginInvoke(new PDelegate(SetInfoBegin));
DataTable dt = mydbacc.ExecuteDataSet(CommandType.Text, "select * from ecv_spbaseinfo ").Tables[0];
this.dataGridView1.BeginInvoke(new myDelegate(FillData),new object[] { dt });//异步调用(来填充)
label2.BeginInvoke(new PDelegate(SetInfoEnd));
}
/// <summary>
/// 执行查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
try
{
tSo = new Thread(ThreadWork);
tSo.IsBackground = true;
tSo.Start();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString() + ",数据查询失败", "查询提示", essageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}