Enabled
如果我在属性窗口中将其属性设置为 true,那么我在表单中使用了一个 Windows.Forms.Timer ,这是它唯一有效的时间。如果我将其禁用,则仅在需要时启用它,它不会打勾。
private void btnRename_Click(object sender, EventArgs e)
{
timerUpdateProgress.Enabled = true;
timerUpdateProgress.Start();
pbProgress.Maximum = clbFiles.CheckedItems.Count;
var renameTask = Task.Factory.StartNew(() => doRename(true, tbCurrentDirectory.Text, clbFiles.CheckedItems, rules));
if(renameTask.Result.Count > 0)
{
timerUpdateProgress.Enabled = false;
new ExceptionsWindow(renameTask.Result).ShowDialog();
}
timerUpdateProgress.Enabled = false;
loadFiles(tbCurrentDirectory.Text);
}
private void timerUpdateProgress_Tick(object sender, EventArgs e)
{
pbProgress.Value = progress; //I have a breakpoint on this line
}
我要做的就是用进度条显示操作的进度。启用和启动计时器什么都不做,滴答声永远不会发生。为什么会这样?
更新:在启用和启动计时器后添加 2000 毫秒的睡眠后单步执行代码显示它仍然没有滴答(我在滴答处理程序中有一个断点)。
更多说明:在属性窗口中启用计时器时,始终调用刻度处理程序,而无需调用Start()
. 只需启用计时器,我的断点就会一直触发。我还应该注意我使用的是 .NET 4。