未知处理时间的进度条

2024-04-26

我正在开发启动/停止/重新启动 Windows 服务的 winform(c#)。我想放置一个进度条,直到操作完成。我是 .net 编程新手。请帮助我实现这一目标。


当您不知道需要多长时间时,您就无法展示有意义的进展。您无法知道,服务启动需要 1 到 30 秒。您所能做的就是向用户显示“我没有死,正在努力”的指示符。 ProgressBar 支持,将 Style 属性设置为“Marquee”。

您还需要在工作线程中启动该服务,以避免 UI 冻结。最好使用BackgroundWorker 来完成。让它看起来类似于这样:

public partial class Form1 : Form {
    public Form1() {
        InitializeComponent();
        ServiceProgressBar.Style = ProgressBarStyle.Marquee;
        ServiceProgressBar.Visible = false;
    }

    private void StartButton_Click(object sender, EventArgs e) {
        this.StartButton.Enabled = false;
        this.ServiceProgressBar.Visible = true;
        this.backgroundWorker1.RunWorkerAsync("foo");
    }

    private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) {
        var ctl = new ServiceController((string)e.Argument);
        ctl.Start();
    }

    private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) {
        this.StartButton.Enabled = true;
        this.ServiceProgressBar.Visible = false;
        if (e.Error != null) {
            MessageBox.Show(e.Error.ToString(), "Could not start service");
        }
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

未知处理时间的进度条 的相关文章

  • 单向绑定

    我知道这个问题存在 但我在答案中找不到解决方案 我有一个表单 其中数据绑定到自定义类 以便在更改表单时 自定义类会收到通知 相反的情况永远不会发生 myForm DataBindings Add Items ItemsController
  • 同时验证 C# Windows 窗体上的多个文本框

    我有一个带有几个文本框和其他控件的表单 我正在使用 errorprovider 控件 并将验证事件连接到需要验证的每个文本框上 当一个控件将焦点转移给另一个控件时 将发生 Validating 事件 因此 当您使用 Tab 键离开当前控件或
  • 将计时器添加到 Windows 窗体应用程序

    我想添加一个计时器而不是倒计时 它会在什么时候自动开始 表单加载 开始时间应为 45 分钟 一旦结束 即达到 0 分钟时 表单应终止并显示一条消息 我怎样才能做到这一点 语言 最好是C 更详细一点 private void Form1 Lo
  • 如果另一个工具条位于同一个工具条面板上,则将工具条向左移动一点会创建一个新行

    当我将一个工具条与同一个工具条面板中的另一个工具条拖动到左侧 可能只是为了将其放在角落 时 我正在拖动的工具条会跳到 新 行 就好像我已将其向下移动一样 解释起来相当棘手 所以这里有几个图表 图 A 我将工具条向左移动 然后 意外地 向左移
  • 创建图像列表框?

    如何在 Winforms 应用程序上创建一个 ListBox 控件 该控件以有序的方式包含图像 就像它包含文本一样 I d like the images to appear like this 也许我什至不需要使用列表框 也许有更好的控制
  • DataGridView 的替代品有哪些? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我们希望在 Winforms 应用程序中替换 DataGridView 我们应该评估哪些替代方案 商业或
  • 如何在字符串中写入反斜杠 (\)?

    我想写这样的东西C Users UserName Documents Tasks in a textbox txtPath Text Environment GetFolderPath Environment SpecialFolder M
  • 获取当前文件夹路径

    我想创建一个转换文件的程序 我希望用户能够将可执行文件放在任何目录中 并且在执行该程序时 双击 exe 我希望该程序能够处理exe 文件所在的当前文件夹中的所有文件 程序如何确定当前执行的路径 I tried System Windows
  • 如何在WinForms中将字典绑定到ListBox

    是否可以将字典绑定到列表框 保持列表框和成员属性之间的同步 var choices new Dictionary
  • 如何禁止在应用程序启动时创建空日志文件?

    我已经在我的应用程序中成功配置了 log4net 但有一件事对我来说有点烦人 即使没有发生错误 日志文件也会在我的应用程序启动后创建 空 我想仅在出现错误后才创建日志文件 我实际上在这个线程中找到了一种方法来做到这一点 http www l
  • Winforms Chart - 在折线图上绘制允许的区域

    如何在图表上绘制灰色区域 信号的允许范围 我使用 Winforms 和标准 MicrosoftSystem Windows Forms DataVisualization类 它应该是自定义范围 这意味着起始 Y 点不能仅为零 我在运行时在线
  • 从 ALT+TAB 菜单隐藏无边框窗口

    我正在开发一个带有无边界表单的托盘应用程序 该应用程序在后台运行 如果用户想要执行不同的操作 他们可以通过右键单击托盘图标 NotifyIcon 来打开上下文菜单 所以我的要求是 1 应用程序始终以最小化模式启动 并且将显示托盘图标 2 应
  • 当用户与 DateTimePicker 控件交互时会引发什么事件?

    我是 C 新手 在我的程序中使用 DateTimePicker Value Changed 事件 但我发现当用户单击箭头时发生 ValueChanged 事件 或者如果也以编程方式更改值 我只想识别 DateTimePicker 的用户交互
  • 无法加载文件或程序集“Microsoft.Office.Interop.Excel”

    我在 WinForm 应用程序中使用 Excel 时遇到问题 当我在多台计算机上尝试它时 它在它们上运行得很好 但是当我在另一台计算机上尝试它时 它会给我 System IO FileLoadException 无法加载文件或程序集 错误
  • 如何在 vb.net 中更改 DateTimePicker 的日期格式

    如何更改 vb net 中 DateTimePicker 的日期格式 以便日期以 dd mm 1990 格式显示 没有任何时间值 我尝试将格式更改为 短 虽然这提供了我需要的日期格式 但它不会删除时间 您需要将 DateTimePicker
  • 将 dataGridView 绑定到绑定列表并按文本框过滤行

    我正在开发一个 Winforms 应用程序 并且有一个已经绑定到 dataGridView 的对象的 BindingList 我还有一个 过滤器 文本框 如果它们与文本框文本不匹配 我想从 datagridview 行中过滤掉行 我想以某种
  • 中性语言设置的用途是什么?

    您可以找到设置访问 WinForms应用程序属性 gt 应用程序 gt 程序集信息 gt 中性语言 我相信它设定了中性资源语言属性 http msdn microsoft com en us library system resources
  • 使用 ListBox 显示/绘制对话速度缓慢?

    我的应用程序使用实体框架来提取一小部分结果 它需要大约 3 秒才能完成 为什么会这样 Start cs private void projectToolStripMenuItem Click object sender System Eve
  • 对 Windows 窗体控件进行线程安全调用

    MSDN 文章 如何 对 Windows 窗体控件进行线程安全调用 http msdn microsoft com en us library ms171728 aspx说我们应该使用异步委托来进行调用 但为什么异步委托可以使调用安全呢 W
  • 如何在 C# 中从工作线程发布 UI 消息

    我正在用 C 编写一个简单的 winforms 应用程序 我创建了一个工作线程 我希望主窗口响应线程完成其工作 只需更改文本字段中的一些文本 testField Text Ready 我尝试了事件和回调 但它们都在调用线程的上下文中执行 并

随机推荐

  • javascript旋转数组元素[重复]

    这个问题在这里已经有答案了 大家好 我有一个任务 我有一个数组 4 7 3 6 9 我必须创建一个像这样的数组 4 7 3 6 9 9 4 7 3 6 6 9 4 7 3 3 6 9 4 7 7 3 6 9 4 我必须编写一个程序 其中数组
  • AspectJ 加载时间编织不适用于 Spring beans

    我正在开发一个项目 该项目使用 Spring 配置的 Java 而不是 xml 风格来连接依赖项 它还具有分析逻辑 应通过 AspectJ 将其编织到所需的方法上 通过注释 设置正在运行 我可以看到我想要的包中的类正在编织 并且分析信息已从
  • 一个目录下可以有两个oozieworkflow.xml文件吗?

    一个目录下可以有两个oozieworkflow xml文件吗 如果是这样 我如何指示 oozie runner 运行哪一个 您可以有两个工作流程文件 只需为它们指定唯一的名称 然后您可以通过设置oozie wf application pa
  • Qt for Android:无法签署应用程序的发布版本

    我正在使用 Qt 5 13 和 Qt Creator 4 9 2 我可以成功构建 Android 应用程序的调试版本 但是当我尝试编译发布版本时 我得到 16 57 35 过程 opt Qt 5 13 0 android armv7 bin
  • iOS Voice Over 和 Android 无法播报 Span 标签中的文本

    我们希望屏幕阅读器在节点关闭后宣布 项目已关闭 有趣的是 Chrome 上的 NVDA 正确地播报了该消息 而 Android 和 iOS Voice Over 则未能播报此消息 这是打字稿代码 HostListener keydown t
  • 在 Scala / Spark 中将纪元转换为日期时间

    我使用以下方法将表示 DateTime 的 String 转换为 unix time 纪元 def strToTime x String Long DateTimeFormat forPattern YYYY MM dd HH mm ss
  • Spacy 中的自定义句子分割

    I want spaCy使用我提供的句子分割边界而不是它自己的处理 例如 get sentences Bob meets Alice SentBoundary They play together gt Bob meets Alice Th
  • JDK 1.6.x G1 的经验(“垃圾优先”)

    我想知道最新JDK中G1垃圾收集器的体验如何 我懂了NullPointerException尽管代码没有改变并且在早期的 JDK 中表现正常 但我的程序中抛出了这个问题 垃圾收集器只会影响表现您的应用程序 而不是它的正确性 我一直在 Ecl
  • Python中的非阻塞套接字?

    是我 还是我找不到关于Python中非阻塞套接字的好教程 我不确定如何准确地工作 recv和 send在里面 根据 python 文档 至少是我的理解 recv ed or send ed 数据可能只是部分数据 那么这是否意味着我必须以某种
  • 数组对象内相同值的重复分组

    id year 2017 month 4 Confirm 0 id year 2017 month 4 Expired 25 id year 2017 month 4 Pending 390 id year 2017 month 5 Pen
  • 构建启用 COM 互操作的项目,而无需在构建过程中注册它

    在 Visual Studio 2010 中 我尝试构建一个启用 COM 互操作的 C 项目 但在构建过程中不注册它 但我DO需要程序集的类型库 tlb 文件 因此我可以从解决方案中的另一个 C 项目导入它 我还没有找到一种方法来做到这一点
  • KafkaStreams 同一应用程序中的多个流

    我正在尝试根据 KafkaStreams 的惯例和合理性做出实用的设计决策 假设我想将两个不同的事件放入其中KTables 我有一个制作人将这些消息发送给KStream那就是听那个话题 据我所知 我不能对消息使用条件转发KafkaStrea
  • 如何将函数应用于嵌套列表?

    我需要获取嵌套列表中变量的最大值 对于某个站号 s 和某个成员 m mylist s m 其形式为 station date time member bias 6019 2011 08 06 12 00 mbr003 86 6019 201
  • URLError:

    只是想让这段代码直接运行它的基本代码Python 金融 import datetime import matplotlib pyplot as plt from matplotlib finance import quotes histor
  • 复制/粘贴到 Word 时如何保留 rstudio 的格式?

    我想在 Word 2010 中重现我的代码 脚本是用 rstudio 编写的 我想在粘贴到 Word 时保留 rstudio 的格式 主要是 我喜欢 rstudio 使用的字体颜色和间距 我发现当我从 SAS 粘贴到 Word 时 格式会被
  • 如何为pandas数据框中的不同组分配唯一的ID?

    如何根据特定条件为 pandas 数据框中创建的组分配唯一 ID 例如 我有一个名为 df 的数据框 其结构如下 名称标识用户 日期时间标识用户访问资源的日期 时间 Name Datetime Bob 26 04 2018 12 00 00
  • 未找到 Firebase 框架

    我一直在尝试将我的项目迁移到 cocoapods 我觉得我快到了 但我陷入了困境 ld 找不到架构 x86 64 的 Firebase 框架 错误 链接器命令失败 退出代码为 1 使用 v 查看调用 我正在尝试使用我的 app xcwork
  • SwiftUI 预览的 Xcode Canvas 不显示

    我正在尝试从 Xcode 11 运行新的 Canvas 功能 但 Canvas 不会显示 我究竟做错了什么 这个新的 Xcode 功能应该在不运行应用程序的情况下显示我的 SwiftUI 视图的实时预览 当您使用 SwiftUI 创建自定义
  • 图像调整大小性能:System.Drawing 与 System.Windows.Media

    我遇到了需要调整大量图像大小的情况 这些图像目前在文件系统上存储为 jpg 文件 但我希望稍后在项目中内存中只有 byte 源图像大小是可变的 但输出应该是 3 个不同的预定大小 应保留长宽比 用空白填充原始图像 即 将调整非常高的图像大小
  • 未知处理时间的进度条

    我正在开发启动 停止 重新启动 Windows 服务的 winform c 我想放置一个进度条 直到操作完成 我是 net 编程新手 请帮助我实现这一目标 当您不知道需要多长时间时 您就无法展示有意义的进展 您无法知道 服务启动需要 1 到