函数执行时间过长,导致Winform界面无响应
有两种简单地方法可以解决这个问题。1.使用多线程,把ckbind处理放到子线程里,就不会影响主窗体响应系统事件了,也就不会无响应了,有心的话,还可以做成主窗体不可用,再来个进度条,让人一看就知道在执行一个很长的处理,而且程序还在运行中。2.在ckbind里如果是循环导致的事件过长,可以在循环固...
C#多线程、委托、界面卡死的问题
简单地说线程与委托并没有直接的关联,在主线程(UI线程也就是后台代码)里开启子线程,就能达到防止界面卡死的,至于委托一般只是在需要在子线程里更新UI才需要invoke委托。你可以看看.net3.5以上的this.invoke(new action(()=>{更新语句})这种简单写法,不需要委托。
C# winform程序,UI界面锁死。如何处理?
Winform 程序,要想保证 UI 不卡死,只有将长耗时任务放到非UI线程运行这一个办法。而且现在早已进入多核时代,软件上多线程设计的思想要是要有的,不然的话,CPU的性能是不能充分利用的。楼主说的方法1与2,如其他回答所说一样,治标不治本。关于多线程编程,楼主可以参考下 Task 。这个类库在线程...
C#winform程序运行到多线程后跳出
你的应该是 子线程处理过程中发生了异常 现在.net 的机制是:子线程发生的异常 在主线程是捕获不到的 子线程未处理的异常都会使程序退出。你最好在 子线程的函数里去捕获异常然后处理掉
c#编写的winform的时候怎么让程序等待一段时间~!
System.Threading.Sleep(100);可以实现等待,但是这时候窗口是白色的假死状态,如果你想实现过段时间再让窗口做动作可以用timer控件
C#多线程,在调用thread.Abort();后WinForm总会卡死,不知为何???_百度...
thread = new Thread(ThreadStart(MyThread)); \/\/设置为后台线程!!! thread.IsBackground = true; thread.Start( ); }}private void MyThread(){ while(true) { try { socket.Listen(50); listen = socket.Accept( ); \/\/其他代码略…… } catch...
求助C# winform 实现自动登录问题
一、不是你这样控制的,因为程序只有一个主线程,如果ShowDialog()后,你Hide()窗体后,这时线程存在于这个被隐藏的窗体,所以你应该Application开启时就对程序进行转向判断,判断逻辑可以捕捉第一个窗体的DialogResult值,这样,根据状态,进行主线程进入,说起来麻烦一起,程序比较简单,M我,发你一个例子 ...
C# 中winform程序响应时间长的时候,怎么显示一个正在执行的状态,就是在...
新开一个线程让这个线程来运行,知道你的函数执行完成,通知那个运行有图片的窗口关闭就好了
C# winform 执行数据库存储过程时间长,我想出一个请稍等 ,正在查询界 ...
你说的这个就是多线程了,搜索一下相关内容就知道了,开个线程去执行那个存储过程,然后找张loadding的gif(当然怎么做你随意)显示出来就行了,然后线程完了就关掉那个等待界面。
C#,winform,怎样在一个页面显示前,首先先显示个等待提示?
简单的放上一张等待的GIF图片,然后提示等待,在执行备份前显示,备份好后影藏就好了