如何在窗体中实现进度条

本文关键字:实现 窗体 | 更新日期: 2023-09-27 18:04:40

我有一个关于窗口窗体进度条的问题。我在使用c#的windows应用程序中有一个进度条,现在我想在按钮单击时显示进度条,但条件是当按钮被单击时,将执行更新查询,这需要30秒才能完成,我想在执行查询时显示进度条。我正在尝试一些代码,但没有找到解决方案。

c#

private void btnGo_Click(object sender, EventArgs e)
{
            DialogResult result = MessageBox.Show("This will update your Website. " + Environment.NewLine + "Are you Sure You want to update the Website?", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
            if (result == DialogResult.Yes)
            {
                pgbrUpdate.Visible = true;
                pgbrUpdate.MarqueeAnimationSpeed = 30;
                ExecuteQuerry();
                pgbrUpdate.Visible = false;
            }
}

如何在窗体中实现进度条

将UpdateTask移动到一个新任务(或线程),并使用Timer显示一些进度:

private void btnGo_Click(object sender, EventArgs e)
{
    DialogResult result = MessageBox.Show("This will update your Website. " + 
       Environment.NewLine + "Are you Sure You want to update the Website?", 
       "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
    if (result == DialogResult.Yes)
    {
         updateTimer.Start();
         Task.Factory.StartNew(() => ExecuteQuery());
    }
}
updateTimer_Tick()
{
   updateTimer.Value +=1;
}