Private Sub Form_Load()
For i=0 to 100
text.Caption = i
Next
End Sub要让text的内容不断变化
For i=0 to 100
text.Caption = i
Next
End Sub要让text的内容不断变化
解决方案 »
- 【你共享我给分】版内活动:挖掘VB潜能,征集变态应用
- 用winsock发送信息的问题?
- 报表打印预览的时候,如何让其显示所有页
- 急!请教大虾,为什么dategrid中无法显示数据库中已有的记录?????????
- 如何实现类似“查看源文件”的功能??
- vb6+excel制作報表程序,在客戶端能否不用安裝office excel,有什麼方法?
- 如何使使用了SetCapture的控件显示tooltiptext?
- 请教一个关于实时曲线的问题,如何在picturebox中同时显示多条实时曲线
- 为什么从这几个网站上查到的IP会不一致?
- 如何搜索内存?
- VB中怎样做数据分页?
- 我想在textbox上加一些功能!可是……
通常,应用程序的感觉速度和代码的实际执行速度并无多大关系。对用户来说,启动快、绘画快并提供不间断的反馈信息的应用程序显得速度快;而在完成任务时似乎“悬挂”起来的应用程序则显得速度慢。许多技术都可以使应用程序显得速度快: 隐藏窗体而不加载。
预加载数据。
在后台使用定时器工作。
使用进度指示器。
加快应用程序的启动速度。
隐藏窗体而不加载
把窗体隐藏起来而不是把它们卸载,是一项 Visual Basic 1.0 以来就采用的技巧,并至今有效。这项技术的负效应是加载窗体时要占用一定的内存。但如果能够提供足够的内存,而且窗体能够快速出现被认为是最重要的,此时则可以采用这项技术。预加载数据
预先读取数据也可以改善应用程序的感觉速度。例如,需要从磁盘上加载几个文件的第一个时,为什么不一次加载尽可能多的文件呢?除非文件特别小,否则用户还是能够感觉到延迟。加载额外的文件增加的时间也许并不会被觉察到,而且以后不会再次延迟了。在后台使用定时器工作
有些应用程序中,在等待用户响应时可以完成一些重要的工作。这可通过定时器控件来实现。使用静态(或模块级)变量来跟踪运行进程,每当定时器空闲时就进行一小部分工作。如果保证每次定时器事件完成的工作很少,用户就不会觉察应用程序的应答有什么影响。此时,可以预先读取数据或完成其它事情,这将进一步提高应用程序的速度。详细信息 关于定时器控件的详细信息,请参阅“使用 Visual Basic 的标准控件”中的“使用 Timer 控件”;关于后台处理的讨论,请参阅“响应鼠标和键盘事件”中的“中断后台处理”。使用进度指示器
如果程序中存在不可避免的长时间延迟,则必须给用户以提示,说明应用程序并没有悬挂起来。Windows 95 使用了标准进度栏进行提示。可以使用 Microsoft Windows 公共控件中的 ProgressBar 控件,这些公共控件包含在 Visual Basic 的专业版和企业版中。在关键时刻使用 DoEvents,特别是每次更新 ProgressBar 的值时,这样在用户做其它事时让应用程序重画。至少,应设置窗体的 MousePointer 属性为 vbHourglass (11),这样就会显示等待光标来表明延迟。加快应用程序的启动
当应用程序启动时,其感觉速度非常重要。用户对应用程序速度的第一印象,是在“启动”菜单中单击程序名后看到的变化。由于 VBA 及 ActiveX 控件等需加载各种运行时所需的 DLL,所以一些延迟对应用程序来说是不可避免的。即使这样,还是可以尽快给用户以响应: 在 Form_Load 事件中使用 Show。
简化启动窗体。
不要加载不需要的模块。
启动时运行一个小的 Visual Basic 应用程序预加载运行时 DLL。
在 Form_Load 事件中使用 Show
首次加载窗体时,显示该窗体前首先执行 Form_Load 事件中的代码。在 Form_Load 代码中使用 Show,可以改变这种模式,并在执行事件中的其它代码时给用户一些可见的东西。在使用 Show 后,用 DoEvents 确保该窗体已经被画出。Sub Form_Load()
Me.Show '显示启动窗体。
DoEvents '确保启动窗体已经被画出。
Load MainForm '加载主应用程序窗体。
Unload Me '卸载启动窗体。
MainForm.Show '显示主窗体。
End Sub简化启动窗体
窗体越复杂,其加载的时间就越长,所以要使启动窗体尽量简单。正如大部分 Microsoft Windows 的应用程序启动时都显示一份简洁的版权屏幕(也称之为快速显示),您的应用程序也可以这么做。启动窗体上的控件越少,包含的代码越少,则其加载和出现的速度就越快。即使它立即加载另一个更复杂的窗体,用户已知道应用程序已经启动。对于大的应用程序,也许要在启动时预加载一些最常用的窗体,这样需要时能够及时显示这些窗体。实现这一目的的满意的方法是在启动窗体上显示进度栏,并在加载每个其它窗体时予以更新。每次加载窗体后都调用 DoEvents,保证启动窗体重画。一旦所有重要的窗体加载完毕,启动窗体就显示第一个加载的窗体并自行卸载。当然,每个预加载的窗体都会运行 Form_Load 事件中的代码,所以要小心不要引起其它问题或过度的延迟。不要加载不需要的模块
Visual Basic 根据要求加载代码模块,而不是在启动时立即加载所有的模块。这意味着不调用模块中的过程,模块就不会被加载。相反地,如果启动窗体调用了数个模块中的过程,则应用程序启动时加载所有这些模块,这就会降低速度。所以应避免从启动窗体中调用其它模块的过程。启动时运行一个小的 Visual Basic 应用程序预加载运行时 DLLs
启动 Visual Basic 的应用程序时,大部分时间用于加载各种运行时 DLL,这些 DLL 将用于 Visual Basic、ActiveX 及 ActiveX 控件。当然,一旦这些已经加载,则无需花费这些时间。所以当使用部分或全部这些 DLL 的其它应用程序已经运行时,则您的应用程序在启动时就显得快多了。一种能够大大改善应用程序启动性能的方法,就是提供另一个经常使用的简单实用的应用程序。例如,编写一个日历程序,安装在 Windows 的启动组。这样,每次系统启动时它将自动加载,不仅本身非常有用,同时也保证加载了各种 Visual Basic 运行时 DLL。最后,对于 Visual Basic 专业版和企业版,可以把应用程序划分成一个核心应用程序和数个可执行部件或 DLL。较小的核心应用程序加载时就较快,而且需要时它会加载其它部分。
Dim i As Integer
Me.Show
DoEvents
For i = 0 To 10000 '这个数字要大一些才能看出效果
Text1.Text = i
DoEvents
NextEnd Sub
我试了,还是一样的。窗体显示时text已经是10000了,