c# - 如果在 Windows 窗体中单击按钮已经启动,则不应再次启动可执行文件

标签 c# .net

在我的表单中,当用户单击一个按钮时,我会启动另一个可执行文件。该可执行文件在屏幕上显示另一个窗口。

但是,当用户第二次点击该按钮时,如果第一个窗口仍然打开,我不想显示第二个窗口。

我该怎么做?

最佳答案

您可以禁用该按钮,然后使用 Process.Start 并等待返回的 Exited 事件 Process再次启用按钮之前发生的对象。

编辑 简单地禁用按钮并不是防止进程再次启动的正确方法;这只是向用户表明无法再次单击该按钮的标志。您应该使用标志/ManualResetEvent 并在进程启动时设置它。在启动进程之前检查它并在 Exited 事件中重置它。

关于c# - 如果在 Windows 窗体中单击按钮已经启动,则不应再次启动可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4973230/

相关文章:

java - 渐进式 HMACSHA256 的 C# 等效项是什么?

c# - 使用 WebRequest 和 WebResponse 时的 session 问题

c# - 根据子类指定基类抽象方法的返回类型

.net - 如何使用 libvlc 从我的 C# 应用程序流式传输视频?

.net - 使用多个网络服务器在现有 .NET/SQL Server 堆栈上实现 Lucene

c# - GridView、Child GridView、多余的列不会消失吗?

c# - 调试器未附加到进程

c# - 为什么动态分配数组的大小必须是静态字段?

C# Linq 列表包含相似元素

c# - 将类声明为静态类和在 app.xaml 文件中创建实例有什么区别?