如上。我需要在命令行下启动一个线性用来加载窗体,命令行读入用户指令操作窗体。那么当窗体被close时,如何连带主线程一起结束掉?
Application.Exit()不好用呀。
MainThread.Abort()也不行
closed事件中写入只能结束窗体不能结束主线程。哪有father?我把主线程用参数传递到窗体执行的Abort()但是没有效果。
很感谢二楼。但是我用的是命令行。跟窗体执行Dispose()方法……那个。不太一样不太一样。
主线程用来读命令,另外的一个线程启动窗体Application.Run(MainWindow);
c#怎样在关闭窗体时结束整个进程
当进行多线程程序设计的时候,主窗体关闭,往往子线程还在继续运行,这就需要在关闭主窗体之前收回线程。设置一个主窗体的关闭事件,在关闭事件中,对子线程做回收处理。如果是在关闭子窗口的时候关闭整个进程,可以执行,Environment.Exit(0)结束进程。
C# WinForm程序中,使用多线程,在关闭窗体时 怎么关闭窗体的所有线程。使...
程序退出的方法:this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;Application.ExitThread(); 强制中止调用线程上的...
C#中关闭程序时如何自动结束正在运行的线程?
\/\/窗体关闭事件中添加如下代码 if(this.thread != null || this.thread.IsAlive){ this.thread.Abort();this.thread = null;} \/\/就OK了
c# 如何解决 窗体关闭还不释放资源的问题
你左转右转把图片保存到本地替换掉这个动作肯定没关闭流连接。这样你关闭了窗体,但整个应用程序进程还在,这个进程就占用着这些图片,所以你删除的时候就报错了。你仔细看看你替换图片那部分的代码,看看有没有资源没释放的。
[C#] 一个窗口中打开另一个窗口并关闭当前窗口代码
this);f2.Show();} form2代码 private Form1 f1;public Form2(Form1 f){ InitializeComponent();f1 = f;f1.Hide();} private void Form2_FormClosing(object sender, FormClosingEventArgs e){ f1.Close();} 直接关闭的方法我没有实现,还是通过隐藏,在最后同时关闭销毁两个form实现 ...
c#窗体发生自动关闭
子线程并不会关闭窗体,即使发生错误,我觉得你可能出在的问题是在:线程会向FormA窗体上传递一些反馈信息这个地方,你有可能没使用委托,来回调窗体方法而发生:线程间操作无效: 从不是创建控件“???”的线程访问它。
C# 跳转到另一个Form窗体时如何关闭当前Form窗体
首先,在主窗体的构造函数中加载登录窗体,如果用户验证成功,再构造主窗体,如果不成功,就结束程序。登录系统后,通过按钮或是什么事件调用第三个窗体,在第三个窗体没关闭前使主窗体不可用,代码如下:(如主窗体为frmMain,登录窗体为frmLogin,第三个窗体为frmView)public partial class frmMain : Form...
C#多线程同用全局变量,怎样保持每个线程的变量不会被别的线程把值覆盖...
所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常由操作系统负责多个线程的调度和执行。拓展:多线程块模型在每个进程里只有一个块而不是多个块。这单个块控制着多个线程而不是单个线程。这里不需要消息队列,因为所有的线程都是相同的块的一个部分,并且可以共享。这样的程序比单线程模型...
C#多线程跳来跳去的问题
… \/\/线程结束后,清除启动标志 this.starting = false; } }2)在窗体timer1_Tick中 private void timer1_Tick(object sender, EventArgs e) { LongTask lt = LongTask.Instance; lt.StartLongTask(); }在timer1_Tick中,由于LongTask是按单一实例实现,且LongTask 中的函数...
C#等待执行完成后再接着执行后续的,请问要如何设计?
其中m_fmProgress为窗体,你将窗体的FormBorderStyle设为None,StartPosition设ScreenCenter,在画面设置Label显示内容 bw_DoWork 方法为要进行的动作 比如动态改变等待信息 m_fmProgress.lblDescription.Invoke((MethodInvoker) delegate(){ m_fmProgress.lblDescription.Text = "Processing file ";} );m_fm...