Winform程序Alt+Tab切换出去再回来会卡

Winform程序Alt+Tab切换出去再回来会卡,第1张

是否是你重画的方法中存在算法问题,是否循环过多或者使用的画法太复杂。因为Alt+Tab的切换,会导致界面重画,如果你过多的使用了美化效果,就会导致重画过程缓慢。应尽量少用大,界面硬采用简单的颜色渐变,尽量减少复杂颜色和复杂画法。

如果有复杂画法,那么就要查看算法是否会有重复调用或者多余的循环。借此减轻重画过程中的负担。

另外还要检查一下,是否窗口各种事件太多,是否出现了切换窗口时不必要的事件激发,导致数据库、文件等 *** 作代码的调用。

使用上来说当然是web的比较方便,使用也在渐渐增多。

不过winform也并没有减少。两类程序都分别有其自己应用的地方。

比如在需要频繁读取数据,刷新数据,需要快速反馈的场合,例如超市收银,医院系统,目前都还是会停留在winform程序,做C/S结构的。因为相对于web来说,频繁读取数据的时候,winform所需要服务器发回来的信息量会更少,而web更容易造成网络的不通畅,导致网页很久打不开。

而在那种单位时间内读取次数比较少,使用范围却比较广的系统,就会选择用web去做,也就是aspnet。因为它的好处是不用安装客户端,只要能上网,有浏览器,就能够使用。比如像图书馆查询系统之类的。

目前我所在的公司是一家外包软件公司,aspnet和winform的项目我们都有接,但是winform的项目更多一点。

Winform 程序,要想保证 UI 不卡死,只有将长耗时任务放到非UI线程运行这一个办法。而且现在早已进入多核时代,软件上多线程设计的思想要是要有的,不然的话,CPU的性能是不能充分利用的。

楼主说的方法1与2,如其他回答所说一样,治标不治本。关于多线程编程,楼主可以参考下 Task 。这个类库在线程上又多封装了一层,让开发者可以不直接接触线程来实现并行运算。用 Task 来处理楼主的问题用不了几行代码的。

判断是否可以连接的数据库连接字符串设置timeout时间,设成个5秒或10秒。

什么原因导致winform程序崩溃?

1、如果WinForm程序中使用了线程,而线程调用的代码中会抛出异常,该异常没有任何Try块处理。就会导致程序从主线程中跳出,导致WinForm程序突然崩溃性关闭。

2、还有就是程序读写某些外部资源,比如数据库、串口、并口、网络等。当这些资源发生堵塞或者出现问题,有可能会导致WinForm程序长时间处于等待状态,程序就会类似于死机现象。

3、写程序的时候,程序出现逻辑错误,导致死循环,或者线程死锁。如果该程序是在主线程中,就会导致WinForm程序死机。

当然这些是较为常见的崩溃性问题,如果时间充足其实可以写出很多。在这里就不一一列出了。

以上就是关于Winform程序Alt+Tab切换出去再回来会卡全部的内容,包括:Winform程序Alt+Tab切换出去再回来会卡、C# 是做winform的多,还是做web的多哪个发展更好、C# winform程序,UI界面锁死。如何处理等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10128890.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存