`

.net Application.DoEvents()

    博客分类:
  • .net
 
阅读更多

.net Application.DoEvents()

如果一个窗体的某个操作涉及到了大数据量的处理,则窗体会出现假死,未响应的状态。这是因为其他事件都在等待。如果使用了Application.DoEvents()就可以实时的响应事件,防止出现假死状态。但是Application.DoEvents()的使用影响事件的效率,


原文:http://www.cnblogs.com/datong/archive/2008/04/06/1139216.html

分享到:
评论

相关推荐

    C# Application.DoEvents() 防界面假死例子。

    在.NET框架中,`System.Windows.Forms.Application.DoEvents()` 方法是一个非常特殊的函数,它将控制权暂时交给Windows消息队列,处理任何等待处理的事件。当程序执行耗时的操作(如数据库查询或大型文件处理)时,...

    防止程序假死

    本文档旨在探讨导致程序假死的原因及解决方案,特别是如何合理使用`Application.DoEvents()`方法来改善用户体验。 #### 二、程序假死现象分析 程序假死主要发生在以下几种情况: 1. **长时间的计算过程**:当程序...

    C# WinForm程序处理后台繁忙导致前台控件假死现象解决方法

    `Application.DoEvents()`是.NET Framework中`System.Windows.Forms.Application`类的一个静态方法,它的主要作用是允许应用程序处理在UI线程的消息队列中的消息。当后台任务运行时,`DoEvents()`会短暂地释放控制权...

    vb.net延迟方法 占用少量CPU 效果可以

    该方法利用Windows API中的`timeGetTime`和`Sleep`函数,并结合循环和`Application.DoEvents()`确保在延时期间既不会导致界面冻结也不会过度占用CPU资源。对于那些需要简单、低资源消耗的延时功能的应用程序来说,这...

    asp.net中一段显示下载进度条的下载文件代码

    - 使用`Application.DoEvents()`确保UI线程不会被阻塞,从而保持界面响应性。 - 通过累加每次读取的数据量来实时计算已下载的总字节数。 6. **关闭流资源**: - 在所有数据都成功下载后,关闭文件输出流和输入流...

    VB.Net 控制 QQ发送信息

    刚研究VB控制QQ发送信息,网上找了点资料 在VS2010中的VB中测试了一下,能够发信息,目前只研究到这种程序 ... My.Application.DoEvents() Loop Until tick + HowLong < My.Computer.Clock.TickCount End Sub

    C#实现延时并自动关闭MessageBox的方法

    在VB.NET版本的代码中,逻辑与C#版本基本一致,只是语法有所不同: ```vb.net Private Sub button1_Click(sender As Object, e As EventArgs) Dim act As New Action(Sub() For i As Integer = 0 To 5 ts(i) = ...

    .net中进度条示例演示,ProgressBar1.PerformStep(),VB.net源代码程序

    同时,可以添加`Application.DoEvents()`来确保UI在后台任务进行时保持响应。 ```vb.net Private Sub ExecuteTask() ProgressBar1.Value = ProgressBar1.Minimum ' 初始化进度条 For i As Integer = 1 To 100 ' ...

    渐隐渐现的透明窗体C#代码实现源代码学习用

    需要注意的是,由于.NET的UI更新机制,我们需要使用Application.DoEvents()确保在每一步透明度变化后更新界面。Thread.Sleep()函数用来控制动画的节奏,数值越小,动画速度越快。 另外,对于窗体上的控件,它们也会...

    vb.net程序执行进度指示器

    确保在循环中使用`Application.DoEvents`或使用异步编程,以确保UI可以及时更新。如果在长时间运行的操作中调用`DoEvents`,则可以避免UI冻结: ```vb.net For i As Integer = 1 To 100 ' 执行任务 ' ... ...

    VB.NET渐隐关闭窗口的实现方法

    4. **刷新窗体**:每次更改透明度后调用 `Application.DoEvents()` 和 `Me.Refresh()` 来刷新界面,确保变化即时反映到界面上。 #### 三、具体实现步骤及代码示例 以下是一个具体的实现示例,该示例展示了如何在 ...

    .net生成和解析二维码及调用摄像头识别二维码源码

    Application.DoEvents(); } capture.Dispose(); } ``` 这个示例开启摄像头捕获视频流,实时识别帧中的二维码,一旦识别成功则输出内容并退出循环。 综上所述,在.NET环境中生成和解析二维码以及调用摄像头识别...

    vb6.0与.net函数对照表!

    36. **DoEvents**: 在VB6.0中处理事件循环,在VB.Net中可以使用`Control.DoEvents`方法。 这只是VB6.0和VB.Net之间部分函数和方法的对照,实际上还有很多其他差异和转换规则。在进行迁移时,需要根据具体情况进行...

    C#实现单个文件的下载已测试成功

    Application.DoEvents(); so.Write(by, 0, osize); Prog.Value = (int)totalDownloadedByte; osize = st.Read(by, 0, (int)by.Length); } so.Close(); st.Close(); Prog.Visible = false; } ``` **3.1.1 ...

    VB.NET延时实例

    在循环内部,`Application.DoEvents()`被调用。这个方法允许程序处理挂起的Windows消息,这意味着即使在延时期间,用户界面仍然可以响应用户的交互,如点击按钮或滚动窗口。然而,这并不是一个线程安全的方法,因为...

    Unity中WinForm窗口闪烁示例工程

    这里,`shouldRedraw`是一个标志变量,用于判断何时需要更新WinForm窗口,`Invalidate()`方法触发重绘,而`Application.DoEvents()`处理窗体的事件队列,确保在合适的时间进行更新。 此外,考虑到跨平台性,Unity...

    c#多线程与ui响应

    2. **Application.DoEvents 方法**:在循环中定期调用`Application.DoEvents()`可以让Windows Forms应用程序处理消息泵,从而使UI能够在循环中得到及时更新。这种方法适用于简单的UI更新场景,但对于复杂的UI操作...

    SendKeys模拟键盘输入实例源代码

    如果你需要确保输入完成后再进行其他操作,可以使用`Application.DoEvents()`来处理消息队列,确保键盘输入被正确处理。 ```csharp SendKeys.Send("Hello, World!"); Application.DoEvents(); ``` 4. 模拟特殊键和...

    C#进度条(带控件CNPOPSOFT.Controls.dll)

    `Application.DoEvents()`确保了在循环过程中UI能够及时更新,而`Thread.Sleep()`则模拟了真实环境中可能需要时间的任务。 使用第三方控件可以极大地丰富你的应用程序界面,但同时也需要考虑兼容性问题和额外的库...

Global site tag (gtag.js) - Google Analytics