gpt4 book ai didi

C# 使用线程关闭程序/表单

转载 作者:行者123 更新时间:2023-11-30 17:05:51 26 4
gpt4 key购买 nike

好的,我有一个包含几个类的 C# 窗体。在其中一个类中,我正在运行一个线程来检查外部程序是否正在运行。当外部程序未运行时,我希望我的程序关闭。

我是个新手,所以对我来说显而易见的答案是使用 form.Close()。但是我不确定是否可以从子类甚至不同的线程访问这个函数!

所以我的问题是:(如何)可以从其他类的不同线程关闭表单?更重要的是这个最佳实践?

最佳答案

您可以使用 Control.InvokeRequiredControl.BeginInvoke()以便在 UI 线程上调用方法。

例如(此方法必须在表单类本身内部):

public void CloseForm()
{
if (this.InvokeRequired)
{
this.BeginInvoke(new Action(this.Close));
}
else
{
this.Close();
}
}

从另一个线程调用是安全的。

关于C# 使用线程关闭程序/表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16077600/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com