如何在使用 C# 重新启动 SQL Server 服务时从头到尾加载进度条

问题描述 投票:0回答:1

抱歉,我是 C# 编程菜鸟。我曾多次搜索在重新启动 SQL Server 服务时加载进度条,但有很多代码,这让我很困惑。我不明白那是什么意思。大家可以帮帮我吗?

这是我重新启动 SQL 服务的代码。 我需要代码来在重新启动服务时加载进度条。

private void btnRestart_Click(对象发送者,EventArgs e) { 服务控制器 sv; sv = new ServiceController("MSSQLSERVER"); sv.Stop(); sv.Start(); sv.WaitForStatus(ServiceControllerStatus.Running); }

c# progress-bar long-running-processes long-running-task
1个回答
0
投票

为了能够显示有意义的进度,无论您正在运行什么任务,都需要报告该进度。启动服务不会这样做,所以你有选择:

  1. 使用 style="Marquee" 的进度条,即不确定的进度条。
  2. 猜测需要多长时间,并编写使用计时器来伪造进度报告。进度越接近结束,可选择放慢速度。

您还需要考虑是否需要modal进度对话框。非模态进度条很简单,只需将其放在表单上的某个位置,并在重新启动服务之前使其可见(并重置值)。

模式进度对话框将显示一个新窗口,在显示时阻止用户在应用程序中执行任何其他操作,但使用起来有些困难,因为您需要在后台线程上执行实际工作,然后发送向窗口发送一条消息,让其在完成后自行关闭。详细信息将取决于所使用的 UI 框架。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.