关于timer+progressbar控件,该怎么解决
关于timer+progressbar控件
dgv.DataSource = dt; dt为空,调式发现先执行的dgv.DataSource = dt;,然后再执行的mystart方法。
dgv.DataSource = dt;代码应该放在哪个位置。
------解决方案--------------------
dgv.DataSource = dt;
放在progressBar1.Visible = false;//设置进度条样式为blocks
的后面试试。
------解决方案--------------------
你上面 声明的dt,只有在 dt = 函数(where); 这赋值了。
------解决方案--------------------
按你给出的代码的思路,应该放到timer里啊,进度条到头了之后,绑定数据
bool timeout = false;//指示线程挂起时间是否到达
DataTable dt=null;
private void timer1_Tick(object sender, EventArgs e)
{
if (timeout)
{
timer1.Stop();
timeout = false;
progressBar1.Visible = false;//设置进度条样式为blocks
}
}
private void button1_Click(object sender, EventArgs e)
{
timer1.Start();
timeout = false;
progressBar1.Visible = true;
progressBar1.MarqueeAnimationSpeed = 50;
progressBar1.Style = ProgressBarStyle.Marquee;
string where = 函数(); //得到where 查询条件
System.Threading.Thread myThread;
myThread = new System.Threading.Thread(myStartingMethod);
myThread.Start(where);
dgv.DataSource = dt;
}
/// <summary>
/// 进行循环
/// </summary>
private void myStartingMethod(object where)
{
dt = 函数(where); //
timeout = true;
}
dgv.DataSource = dt; dt为空,调式发现先执行的dgv.DataSource = dt;,然后再执行的mystart方法。
dgv.DataSource = dt;代码应该放在哪个位置。
------解决方案--------------------
dgv.DataSource = dt;
放在progressBar1.Visible = false;//设置进度条样式为blocks
的后面试试。
------解决方案--------------------
你上面 声明的dt,只有在 dt = 函数(where); 这赋值了。
------解决方案--------------------
按你给出的代码的思路,应该放到timer里啊,进度条到头了之后,绑定数据