相关疑难解决方法(0)

使用Application.DoEvents()

可以Application.DoEvents()在C#中使用吗?

这个函数是否能够让GUI跟上应用程序的其余部分,就像VB6 DoEvents一样?

c# doevents winforms

263
推荐指数
6
解决办法
17万
查看次数

如何在后台线程运行时阻止Winforms UI

我继承了一个Winforms应用程序,该应用程序从UI线程向应用程序服务器执行大量长时间运行的调用,因此UI在相当长的一段时间内保持无响应,无法使用,无法使用.(这让我真的去了AAAAAAAAARGH!)

我计划将服务器调用移动到后台线程并禁用UI - 但可移动和可关闭 - 而后台线程完成其工作.

那么什么是禁止用户输入我的应用程序的最佳方法?我正在考虑"模态进度对话框",但我更喜欢一种不会强迫我将视觉投射到用户面前的解决方案(某些服务器操作在不到500毫秒内运行,因此对话框不是最佳的...)

在Winforms中是否有任何方法可以阻止用户启动操作或更改应用程序中的数据,同时通过一些选择(调整大小,显示,隐藏和家庭以及关闭窗口的用户)?我更喜欢一种不会让我访问表单中的每个UI元素并将其设置为禁用的方式...它们中有很多并且该应用程序确实"在UI设计器中被黑客攻击,直到它显示出华而不实的东西"源代码的风格.在发布日期之前,没有办法重构每个有臭味的东西......

哦,顺便说一下,这个应用程序存在于.net框架2中

.net multithreading .net-2.0 winforms

10
推荐指数
2
解决办法
6171
查看次数

标签 统计

winforms ×2

.net ×1

.net-2.0 ×1

c# ×1

doevents ×1

multithreading ×1