c# - C#:程序正在做一些后台处理时的 “not responding”窗口

标签 c# winforms multithreading

在我的C#项目中,我有一个显示的表单,其中显示了进度条。

然后完成一些处理,其中涉及通过Internet进行的通信。

进行此处理时,在Win 7中运行时,表单显示"Not Responding",在XP中,表单只是变成白色。

无论哪种方式,都是 Not Acceptable 。

我是否需要使用线程来解决此问题?

在这种情况下,我需要使用哪些线程基础知识?

最佳答案

您的处理必须在一个线程中完成。
在线程外,您必须调用进度条以显示进度。

progressBar1.Invoke((MethodInvoker)delegate
{
progressBar1.Value = (int)((i / limit) * 100);
});

关于c# - C#:程序正在做一些后台处理时的 “not responding”窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5178112/

相关文章:

c# - 异常 : No suitable driver found for jdbc:derby:\\serveraddress\db;create=false

c# - 是否可以使用 Ninject 注入(inject)显式实现的方法?

c# - 如何模拟 HttpContext 以访问 IIdentity 的扩展方法?

winforms - 触发属性更改时,具有数据绑定(bind)的表单元素不刷新

java - jvm如何处理多个处于可运行状态的线程

java - 懒惰斐波那契数列

.net - C# 浏览器组件添加 header 参数

c# - 如何让 C# 文本框自动完成以根据包含而不是开头提出建议?

ios - observeValueForKeyPath 总是从主线程调用吗?

c# - 为什么内部异常到达 ThreadException 处理程序而不是实际抛出的异常?