C#关闭窗口方式以及线程后台运行

来源:互联网 发布:同业拆借 知乎 编辑:程序博客网 时间:2024/05/17 22:45

当你从主窗体跳转到另外一个窗体时,你的主窗体只是设置为hide,然后又你关闭非主窗体后,程序并没有退出,当你重新调试运行程序时,会出现bug,如下:这里写图片描述
错误 12 无法将文件“obj\Debug\WindowsFormsApplication1.exe”复制到“bin\Debug\WindowsFormsApplication1.exe”。文件“bin\Debug\WindowsFormsApplication1.exe”正由另一进程使用,因此该进程无法访问此文件。 WindowsFormsApplication1
,显示还有一个进程正在使用,导致bug,然后我打开任务管理器,发现果然还有一个正在运行,也就说明你关闭非主窗体的时候程序并没有退出,这里写图片描述
然后我杀掉这个进程后,重新运行就可以成功了。
解决办法:我是打开非主窗口的时候把主窗口设置为hide,然后我在非主窗体上设置一个退出button,点击后会关掉本窗口,然后打开主窗口,具体代码如下:
在class外定义一个:public static Form f1;然后在主窗口上写下面代码:
f1 = this;
Form2 f2 = new Form2();
f2.Show();
f1.Hide();
打开主窗口的代码:
private void button2_Click(object sender, EventArgs e)
{
Form1.f1.Show();
this.Close();
}

PS:贴上参考文章:
C#中WinForm程序退出方法技巧总结:http://www.jb51.net/article/58816.htm
C#.NET中怎样打开一个新Form,同时关闭当前Form?
https://zhidao.baidu.com/question/535488470.html

0 0