- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
从 VB6 开始,我很少在 C# 中使用 DoEvents() 方法。
为了同样的目的,我现在需要使用同样的功能
我注意到人们使用这个函数(Application.DoEvents Method ):
Application.DoEvents()
但这适合 Windows 窗体。
现在我正在使用 WPF。
WPF中有没有类似的方法?
或者也许我不应该再使用这种方法了?
谢谢。
最佳答案
Or maybe I shouldn't use this method anymore?
这个。
基本上,Application.DoEvents()
的使用几乎总是表明您有一个长时间运行的任务,该任务应该在不同的线程上执行, 回调到需要 UI 访问的 UI 线程。
Application.DoEvents()
基本上是人们在不想花时间正确做事时使用的 hack - 至少在绝大多数情况下是这样。
有多种方法可以编写与 UI 交互的长时间运行的任务,具体取决于您使用的语言/框架的版本,以及您的长时间运行的任务的组成。要考虑的选项:
BackgroundWorker
关于c# - 正确使用与 WPF 兼容的 DoEvents(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14423148/
使用 Application.DoEvents 的必要性是什么?何时应该使用它? 最佳答案 Application.DoEvents 通常用于确保在 UI 线程上执行某些长时间运行的操作时定期处理事件
我已经实现了自定义的ThreadManager,该代码在测试过程中一直完美运行。当用户想要关闭应用程序时,关闭将暂停,直到所有线程退出或他们选择不等待而结束应用程序(经过30秒)。 我需要澄清的是,在
vb6中的“DoEvents”做什么? 为什么会收到错误消息“堆栈空间不足”?这是什么意思 ? 最佳答案 DoEvents()允许处理其他Windows消息。 出现堆栈空间不足错误的原因可能是因为Do
我有一组代码,其中包含: Application.Wait (Now + TimeValue("4:00:00")) 这实际上是将宏暂停了四个小时,从凌晨 3 点(当它完成运行代码时)到早上 7 点(
如果我循环执行一个长时间的操作(例如,处理文件)并且我想更新进度条,我需要使用 DoEvents,据我所知。 但是在函数的每个循环中调用它只会导致进度条的动画播放得非常快(或慢,取决于操作)。我知道这
是否有替代System.Windows.Forms.Application.DoEvents()的其他方法来刷新不使用System.Windows.Forms命名空间的事件队列?如果没有,可以在Web
如何让我的 C# 表单(比如说处于 for 循环中)免于锁定?我调用 Application.DoEvents();在循环之前还是之后?据我所知,使用 DoEvents 方法可以防止我的应用程序锁定。
我的代码很简单。它为不同的工作表导航不同的 URL,并从每个 URL 导入两个数据。 Public Sub import_Data() Dim ie As InternetExplorer, html
.NET 中 VB6 的 DoEvents 的等价物是什么? 编辑: 我有一个需要很长时间才能完成工作的 Sub。 (它有一个do-while)当我调用它时, 形式变成白色。在 VB6 中,我曾经在方
我有以下内容: $('body, a').addClass('cursor-wait'); for (var I=0, L = myArray.length; I < L; I++) { //
iPHone:我们使用 MonoTouch,但 Obj-C 答案没问题。 我的单例域对象需要一段时间才能获取所有数据,因此它在线程中内部运行获取的部分内容。 我需要通知 UI 域已完成。目前我正在这样
正如问题所问:在后台线程上调用Application.DoEvents()会做什么? 为了提供一些背景信息,我正在审查一个用C#为.NET CF编写的(不是我自己写的)相当复杂的解决方案。我之所以进行
当用户编辑单元格时,有一种方法可以使用 VBA 按 Enter 或向下键或选择另一个单元格吗?我正在为 children 创建一个测验,并希望确保 child 在输入答案后不会按 Enter 键,代码
我在 Excel VBA 中编写了一些简单的代码,使某个范围“闪烁”某种颜色 - 这是通过在相关范围上仔细绘制一个矩形对象并改变其透明度以使该框逐渐淡出来实现的。 以下是 Worksheet_Chan
我使用 DoEvents 强制更新状态栏(或工作表中的某些单元格)中的进度指示器,如下面的示例代码所示。但屏幕不刷新,或在某个时刻停止刷新。任务最终完成,但进度条没用。 为什么 DoEvents 不“
我们的遗留产品之一是 Winforms 应用程序,它不使用后台线程,而是在主 UI 线程上执行所有操作。它在这个主线程上运行一个恒定循环,每 20 毫秒调用一次 Application.DoEvent
我有一个简单的“工作”表单,它在自己的线程上运行,以让用户知道应用程序在长时间运行的操作中没有死掉。为了让工作表单更新,我必须插入一个 DoEvents()称呼。 我很好奇,这只会为我所在的当前线程抽
我正在浏览网站列表并获取它们的内容。为此,我首先将网页作为字符串获取,然后尝试通过其 DocumentText 属性将其推送到 System.Windows.Forms.WebBrowser 对象中。
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我正在尝试找出处理单选按钮点击触发的后台工作程序的最佳方法。我创建了一个非常简单的表单,其中包含 3 个单选按钮和一个标签。每个单选按钮共享相同的事件 radioButton_CheckedChang
我是一名优秀的程序员,十分优秀!