
你的应该是
子线程处理过程中发生了异常
现在net
的机制是:子线程发生的异常
在
主线程
是捕获不到的
子线程未处理的异常都会使程序退出。
你最好在
子线程的函数里去捕获异常然后处理掉
添加FormClosing或者FormClosed事件
private void Form1_Load(object sender,EventArgs e){
thisFormClosing+=Form1_FormClosing;
}
private void Form1_FormClosing(object sender,FormClosingEventArgs e)
{
MessageBoxShow("即将关闭窗体。。。");
}
你说的意思有些不明确, 主窗口是可以关闭的呀,不过关闭后,整个程序就关闭了
关闭方法: ApplicationExit(); 你可以用Timer定时器来关闭并结束主窗体程序
窗体的 Close()方法才是如你所说只是隐藏,其实对象还在,可以用Show()方法再次显示出来
程序的主窗体必须用ApplicationRun 来创建
如果只是这样,用SystemWindowsFormsSendKeys类就可以了,利用这个方法你不需要获取浏览器的
句柄
,不过你的浏览器要处于激活状态(也就是聚焦状态),可以让这些代码在后台运行:
后退:
SendKeysSend("%{LEFT}");//后退一步
//SendKeysSend("%{LEFT
5}");//后退5步
SendKeysFlush();
前进:
SendKeysSend("%{RIGHT}");
//SendKeysSend("%{RIGHT
5}");//前进5步
SendKeysFlush();
可以用Process类来getprocess, 得到当前运行的所有进行,然后一一调用kill或是terminate方法中止运行之。
不过,可能需要判断一下是不是系统进程。
代码嘛,懒得写了。你看一下msdn里process类的方法说明就行了。有例子的。
以上就是关于C#winform程序运行到多线程后跳出全部的内容,包括:C#winform程序运行到多线程后跳出、c#winform 怎么监视应用程序退出、WINFORM如何关闭主窗口等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)