我的代码大体是这个样子的:
private void beginAnalysisBtn_Click(object sender, EventArgs e)
{
label1.Visible = true;
timer1.Enabled = true;
//如果把下面这句注释掉 timer就管用,加上之后timer就不管用了,文字一直不变
this.backgroundWorker1.RunWorkerAsync(); //后台异步加载数据
}
/// <summary>
/// 改变Label的文字
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ChangeText(object sender, EventArgs e)
{
if (label1.Text.Length < 12)
{
label1.Text = label1.Text + dotString[position++ % dotString.Length];
}
else
{
label1.Text = label1.Text.Substring(0,5);
}
} /// <summary>
/// 后台异步加载数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void backgroundWorker1_RunWorkerCompleted(object sender,RunWorkerCompletedEventArgs e)
{
//读文件 比较耗时 读完之后再ListView显示
...//(代码省略) timer1.Enabled = false;//读完以后 让timer失效 不再改变标签的文字
}
请各位大神给看看这是什么原因。
private void beginAnalysisBtn_Click(object sender, EventArgs e)
{
label1.Visible = true;
timer1.Enabled = true;
//如果把下面这句注释掉 timer就管用,加上之后timer就不管用了,文字一直不变
this.backgroundWorker1.RunWorkerAsync(); //后台异步加载数据
}
/// <summary>
/// 改变Label的文字
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ChangeText(object sender, EventArgs e)
{
if (label1.Text.Length < 12)
{
label1.Text = label1.Text + dotString[position++ % dotString.Length];
}
else
{
label1.Text = label1.Text.Substring(0,5);
}
} /// <summary>
/// 后台异步加载数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void backgroundWorker1_RunWorkerCompleted(object sender,RunWorkerCompletedEventArgs e)
{
//读文件 比较耗时 读完之后再ListView显示
...//(代码省略) timer1.Enabled = false;//读完以后 让timer失效 不再改变标签的文字
}
请各位大神给看看这是什么原因。
把timer1设置不可用.???那你打算什么时候让timer1可用呢??