C# 消息泵

来源:百度知道 编辑:UC知道 时间:2024/06/29 01:06:48
需要在界面线程执行一个比较耗时、但可以分步执行的操作(比如查询数据库,处理多条记录),我想在每步处理之间插入一个消息崩,C# 中如何处理?
谢谢关注。

1楼:你可以尝试一下,如果可以的话,我+100分给你。

2楼:类似 Win32 API PeekMessage + TranslateMessage + DispatchMessage 。以避免界面失去响应。

3楼:这里的关键在于如何避免界面失去相应,因为涉及到界面操作,所以不适合用工作线程。

使用多线程方式处理这些东西.
或者是使用异步操作.

AJAX 就可以了 可以用AJAX.DLL 也可以用微软的AJAX都可以做到比如

例如用AJAX.DLL

思路如下:

1. 页面触发事件
2. 第一步数据查询,返回查询结果,页面显示内容, 根据内容再次触发事件(这个地方要用JS来自动触发)
3. 后面就和2相同

我想你的这个比较耗时的操作应当不是只直写在界面里的,因为这样的话,你可以在任何一步之间加一个操作来进行界面上的提示。

你可能是写在一个类里面的。只调了一个函数就执行了所有的步骤。
如果是这样的话,有两个办法,一个是把每一步写一个方法,依次调用,在每步间加代码进行界面提示。
一种是在你的那个类里面用委托。

消息泵是什么东西??
有没有更通俗的叫法?baidu了一下,没有找到这个词是什么东西。

你在每一步处理的时候加入一个弹窗提示进度不就可以了?

如果只是提示的话把这几个操作分开写成几个方法,然后再放到线程里,用委托把消息传出来