怎样使程序一边运行,文本框一边显示运行结果?

lishiqian 2004-09-09 08:13:16
如:
Private Sub Command1_Click()
For i = 1 To 8000
Text1.Text = i & Text1.Text
Next
End Sub
为什么老是要程序结束后文本框才显示结果?
...全文
211 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zdmaster 2004-09-09
  • 打赏
  • 举报
回复
DoEvents 函数


转让控制权,以便让操作系统处理其它的事件。

语法

DoEvents( )

说明

DoEvents 函数会返回一个 Integer,以代表 Visual Basic 独立版本中打开的窗体数目,例如,Visual Basic,专业版,在其它的应用程序中,DoEvents 返回 0。

DoEvents 会将控制权传给操作系统。当操作系统处理完队列中的事件,并且在 SendKeys 队列中的所有键也都已送出之后,返回控制权。

DoEvents 对于简化诸如允许用户取消一个已启动的过程 — 例如搜寻一个文件 — 特别有用。对于长时间过程,放弃控制权最好使用定时器或通过委派任务给 ActiveX EXE 部件来完成。以后,任务还是完全独立于应用程序,多任务及时间片由操作系统来处理。

小心 确保以 DoEvents 放弃控制权的过程,在第一次 DoEvents 返回之前,不能再次被其他部分的代码调用;否则会产生不可预料的结果。此外,如果其它的应用程序可能会和本过程以不可预知的方式进行交互操作,那么也不要使用 DoEvents,因为此时不能放弃控制权。
zdmaster 2004-09-09
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
Dim i As Integer
For i = 1 To 8000
Text1.Text = i & Text1.Text
DoEvents
Next
End Sub
'肯定可以
horsefly 2004-09-09
  • 打赏
  • 举报
回复
来迟了
hongbo163 2004-09-09
  • 打赏
  • 举报
回复
呵呵,来迟了
efengxu 2004-09-09
  • 打赏
  • 举报
回复
学到东西了:)
lishiqian 2004-09-09
  • 打赏
  • 举报
回复
多谢各位,马上给分
laviewpbt 2004-09-09
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
For i = 1 To 8000
Text1.Text = i & Text1.Text
Text1.Refresh
Next
End Sub
这样也能看到效果,但不如DoEvents好。
laviewpbt 2004-09-09
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
For i = 1 To 8000
Text1.Text = i & Text1.Text
Doevents
Next
End Sub
tztz520 2004-09-09
  • 打赏
  • 举报
回复
加个DOEVENTS就可以了
tztz520 2004-09-09
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
For i = 1 To 8000
Text1.Text = i & Text1.Text
doevents
Next
End Sub

7,787

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧