C# 在窗口关闭时运行windows窗体线程

C# 在窗口关闭时运行windows窗体线程,c#,winforms,C#,Winforms,我有一个windows窗体运行一个线程,该线程读取字符串并在文本框中显示它 它有开始-停止按钮,可以开始在窗口Main\u表单的文本框中显示单词 现在,我需要创建一个处理开始-停止的开始表单。当您按下start时,同样的事情也会发生,但是Main\u表单可能会关闭 您有一个按钮可以打开主表单,看到文本框的变化 它仅在我键入以下内容时起作用: m_mf = new Main_Form(); m_mf.Show(); m_mf.start(); 如果我打字 m_mf.Visible = false

我有一个windows窗体运行一个线程,该线程读取字符串并在文本框中显示它

它有开始-停止按钮,可以开始在窗口
Main\u表单
的文本框中显示单词

现在,我需要创建一个处理开始-停止的开始表单。当您按下start时,同样的事情也会发生,但是
Main\u表单
可能会关闭

您有一个按钮可以打开
主表单
,看到文本框的变化

它仅在我键入以下内容时起作用:

m_mf = new Main_Form();
m_mf.Show();
m_mf.start();
如果我打字

m_mf.Visible = false;
或者关闭主窗体窗口,程序自动终止

您是否尝试过使用Hide()而不是visible=false:

m_mf.Hide();
如果使用
m_mf.Close()将完全关闭程序


可能会对您有所帮助。

您的意思是在m\u mf关闭后运行新表单吗?在主功能中,您可以按如下方式修改它:

 Application.Run(new m_mf());
 Application.Run(new Form1());

设置
Visible
不应导致程序关闭,除非您试图从新线程中关闭程序(在这种情况下,您会得到一个异常)。是吗?嗨,乔恩,我不想结束这个节目。我希望
Main_Form
中的线程运行,但不管窗口是否显示。我在
打开表单中有一个按钮
显示到
主表单
,这就是我要说的<代码>可见=假
也不会关闭程序。如果你的程序关闭了,那是因为你的某个地方有一个bug。错误可能是您正在从另一个线程设置
Visible
程序可以运行,但不太好,因为窗口会出现和消失。因此,我的问题是,有没有一种方法可以在不显示窗口的情况下使用文本框(即
Main_Form
所做的事情)谢谢您的回答
Hide()
与设置
Visible=false
完全相同。它位于“隐藏控件相当于将Visible属性设置为false”中,实际上m_mf.hide()是有效的!但是有没有一种方法可以让它在不弹出窗口的情况下工作呢?也许这有帮助?嗨,我不想运行两个程序,我只想运行一个程序。在program.cs中,我想将其保留为
Application.Run(new Opening_Form()),并在
打开表单
中按start以运行
主表单
线程时