C# 防止Winform窗体假死
1.在处理较慢的代码前面加DoEvents()
Application.DoEvents();
2.使用多线程
Thread th = Thread.CurrentThread;th.Name = "MainThread";Console.WriteLine("This is {0}", th.Name);Console.ReadKey();
3.使用委托异步,对于有参的,
//调用Application.DoEvents();lock (SequenceLock){Run_delegate_zi run = new Run_delegate_zi(Run_zi); IAsyncResult result = run.BeginInvoke(tbname, i, null, null);//有返回值可去掉下面代码//string result1 = run.EndInvoke(result);}
//顶一个Lock
private static readonly object SequenceLock = new object();
//定义委托及方法名称private delegate void Run_delegate_zi( string tbname, int i);public void Run_zi(string tbname, int i)//无返回值{//...业务代码}//4.解决线程间操作无效//在窗体Load方法里写System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;
C# 防止Winform窗体假死相关推荐
- .NET C# winform窗体假死
winform窗体假死 我们经常会遇到当执行一个比较大的函数时,窗体会出现假死的现象,给用户的体验不是很好,于是我们遇到了问题,那么就必须解决,我们该如何解决呢,首先在自己的脑里画个问号,接下来我们就 ...
- 谈.Net委托与线程——解决窗体假死
转自:http://www.cnblogs.com/smartls/archive/2011/04/08/2008981.html#2457370 引言 在之前的<创建无阻塞的异步调用>中 ...
- C# 解决窗体假死的状态
异步调用是CLR为开发者提供的一种重要的编程手段,它也是构建高性能.可伸缩应用程序的关键.在多核CPU越来越普及的今天,异步编程允许使用非常少的线程执行很多操作.我们通常使用异步完成许多计算型.IO型 ...
- 解决WindowsForm窗体假死的状态
转载 http://blog.sina.com.cn/s/blog_621e24e201015r29.html 另一篇非常不错的博文:http://www.cnblogs.com/wangshenhe ...
- C# 窗体加载假死,异步刷新总结
文章来源:http://blog.sina.com.cn/s/blog_621e24e201015r29.html 总结:1.control.Invoke 和 Control.BeginInvoke都 ...
- WinForm——窗体总结
常用属性 StartPosition属性 用来获取或设置运行时窗体的起始位置. 语法格式:public FormStartPosition StartPosition { get; set; } 属性 ...
- winform程序内存不足或假死的问题
最近一直在写一个winform程序,对各类文档文件,以及压缩包的内容进行关键字检测. 模型出来之后,执行了一下,发现连续测试后,会有内存不足的问题,导致程序面假死.脑袋懵逼了两天. 回头看我的变量容器 ...
- WinForm程序界面假死,寻求完美解决方案
WinForm程序界面假死,寻求完美解决方案 参考文章: (1)WinForm程序界面假死,寻求完美解决方案 (2)https://www.cnblogs.com/funying/p/3230873. ...
- PowerShell:如何用PowerShell创建WinForm窗体?-在PowerShell中使用GUI界面
从印度小哥那里受到启发,PowerShell不止可以做批处理,自动化.还能做界面做GUI,也能实现很好的交互.因为PowerShell是可以和.Net 程序无缝集成的.所以.Net能用的东西在Powe ...
- 浏览器真的能“永不假死”?——六款主流浏览器防假死功能测试
作者:一石来源:家用电脑 浏览器是大家上网必备的工具,而浏览器假死也是大家在上网时常常所遇到的问题,让人头疼.最近各款主流浏览器纷纷推出了最新版本,我们可以发现一个相同点就是他们都以"防假死 ...
最新文章
- 为什么建议使用你 LocalDateTime ,而不是 Date?
- 2018这一年或平淡或不凡,2019看更大的世界
- 关于angularjs dom渲染结束再执行的问题
- 递归与分治——斐波那契数列非递归,递归,与优化后的递归算法
- LeetCode——二分查找
- 初学者必备Linux指令
- 图书馆占座系统-产品需求规格说明书
- xshell 5中文破解版下载(附注册码)
- 传奇衣服、翅膀、武器、怪物、NPC等外观代码计算方法与公式
- AD PCB导出Gerber文件(非常详细的步骤)
- 点睛挖雷 PSP 1.0 版(For 3.xx)
- Android修改浏览器书签和主页
- otf是什么格式?怎么安装呢?
- 【springboot】 springboot发送QQ邮件 springboot整合mail教程
- Flutter 凉了吗?
- NSGA 和 NSGA-II 学习笔记
- 【SQLSERVER】清理alwayson过大的事务日志
- 大数据智能平台的构建策略与步骤
- 第一章 winds 安装区块链私链 geth并进行节点同步
- python文件打包技术免费教程
热门文章
- 使用BeautifulSoup,解释器报错‘lxml‘
- 【数据库CS751】数据库的建表与插入
- 经纬度转WGS84坐标
- [1927-2011][影片][历届奥斯卡最佳影片合集][全82部]
- 脸谱网下载_脸谱网对AR眼镜大胆愿景的最大障碍是信任
- 初识JAVA:华为面试写一个程序:要求出用1,2,5这三个数不同个数组合的和为100的组合个数
- 10.23 每日打卡
- python最全面试题!
- liferay-protal学习1-配置开发环境
- HUD 3938 protal [ 离线并查集 ]