.NET C# winform窗体假死
winform窗体假死
我们经常会遇到当执行一个比较大的函数时,窗体会出现假死的现象,给用户的体验不是很好,于是我们遇到了问题,那么就必须解决,我们该如何解决呢,首先在自己的脑里画个问号,接下来我们就一起研究吧!
先分析,这个问题是如何出现的呢!为什么会出现,如何避免出现,避免不了的,如何解决等,下面我们就去解决问题吧,遇到问题不要怕,解决问题是我们成长最快的时候,曾经别人告诉我,不怕不会做,就怕想不到。那我们就进入正题吧!
窗体假死是如何出现的呢?
在调用 testc();函数时,阻塞了UI线程,所以会出现窗体假死现象。(你在吃饭就不能去买东西。)
问题找到了,接下来我们就要想如何解决呢!
思路:1.你在吃饭的时候就不能去买东西,所以我们就必须先吃完饭,再去买。(调用DoEvents函数;主动调用Application.DoEvents 会有线程安全问题。)
思路:2.我可以找个人去帮我买东西。这就是委托,委托一个人去帮你买东西。(新开一个线程)
切记:没有必要的时候,请尽可能的少用线程。线程不易控制。
方案一:调用方法:DoEvents
Application.DoEvents();
public partial class Form1 : Form{public Form1(){
.NET C# 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 ...
- 浏览器真的能“永不假死”?——六款主流浏览器防假死功能测试
作者:一石来源:家用电脑 浏览器是大家上网必备的工具,而浏览器假死也是大家在上网时常常所遇到的问题,让人头疼.最近各款主流浏览器纷纷推出了最新版本,我们可以发现一个相同点就是他们都以"防假死 ...
最新文章
- 嵌入式Web服务器移植
- linux系统安全优化
- 服务器响应码302,ajax与302响应代码测试 详细出处参考:http://www.jb51.net/article/42327.htm...
- wps合并所有sheet页_Python一键合并上千个Excel表,一天的工作量一小时搞定!下班...
- ACM/ICPC 2018亚洲区预选赛北京赛站网络赛 Tomb Raider(map+二进制枚举)
- javascript 与vbscript 互相调用
- 【本站作品】机器学习数学基础专辑
- 模拟alert和confirm
- maven provided
- 关于 NODE.js 并行线程 worker_threads 的使用与详解。
- mysql读写分离 存储过程_MySQL读写分离 · wang-y/Technical-Information Wiki · GitHub
- H3C | S6X00系列交换机策略路由配置案例
- 使用YAML创建一个 Kubernetes Depolyment
- Atitit 性能指标与性能提升的5个原则与性能提升模型
- antd vue表单验证_解决antd 表单设置默认值initialValue后验证失效的问题
- 计算机网络与综合布线系统设计,谈计算机网络综合布线系统设计
- 前后端分离项目,请求头中包含Authorizaton:XX,但是后端getHeader(Authorizaton) 获取不到
- Spring bean的生命周期init和destory
- Joint fully convolutional and graph convolutional networks for weakly-supervised segmentation of
- uniapp里的mounted_uni-app自定义组件mounted无法获取节点信息