vb小问题,如何让text里的内容动起来?
vb小问题,如何让text里的内容动起来? 比如这个: Dim i For i = 1 To 1000 Text1.Text = i Next 如何做到让我看见1到1000 这个一直变化的过程? 就是说Text1.Text里的内容从1一直变到1000而不是在内部计算,最后直接显示一个1000?
记得给分 哈哈 告诉你最高效 最简单的 Dim i For i = 1 To 1000 Text1.Text = i DoEvents Next
①把界面打开后,在里面找到控件timer ,放在表单中 ②然后找到其属性Interval,设置成500 或者1000(可随意设置但最好是在500和1000之间的数字) ③再双击timer控件,在其内编入代码: Dim i For i = 1 To 1000 Text1.Text = i DoEvents For k = 1 To 10000 ' 此处“10000”可改“500”或者“1000”有不同的效果 DoEvents Next k Next i ★我做了个vb表单给你 ,在附件里!
再设置个时钟啊,编写代码时 写好时间间隔
在Text1.Text=i之后刷新显示。在VC里是UpdateData函数,你看看VB里应该也有相应的函数。
用timer控件,前面的已经说了一些 我讲DoEvents一下函数和容易出错的地方 1 设置一个timer控件,将它的Interval更改成1000(1000是1秒) 需要注意的是这个不要在timer事件中设置 2 设置DoEvents函数 这个函数的作用如下 DoEvents 函数会返回一个 Integer,以代表 Visual Basic 独立版本中打开的窗体数目,例如,Visual Basic,专业版,在其它的应用程序中,DoEvents 返回 0。
DoEvents 会将控制权传给操作系统。当操作系统处理完队列中的事件,并且在 SendKeys 队列中的所有键也都已送出之后,返回控制权。 DoEvents 对于简化诸如允许用户取消一个已启动的过程 — 例如搜寻一个文件 — 特别有用。
对于长时间过程,放弃控制权最好使用定时器或通过委派任务给 ActiveX EXE 部件来完成。以后,任务还是完全独立于应用程序,多任务及时间片由操作系统来处理。 小心 确保以 DoEvents 放弃控制权的过程,在第一次 DoEvents 返回之前,不能再次被其他部分的代码调用;否则会产生不可预料的结果。
此外,如果其它的应用程序可能会和本过程以不可预知的方式进行交互操作,那么也不要使用 DoEvents,因为此时不能放弃控制权。 可以看一下下面的例子 ' 创建一个变量来保存加载的 Visual Basic 可见窗体的个数。 Dim I, OpenForms For I = 1 To 150000 ' 循环开始。
If I Mod 1000 = 0 Then ' 如果循环一已完成了 1000 次。 OpenForms = DoEvents ' 将执行让给操作系统。 End If Next I ' 将循环计数器加一。
。
For。。。Next 语句 以指定次数来重复执行一组语句。 可用Timer控件来仿真For。。。Next循环。 见以下代码: 'For。。。Next循环 Private Sub Command1_Click() Dim i As Integer For i = 0 To 1000 Text1 = i '插入其它代码 Next Print i End Sub 'Timer控件仿真 Private Sub Form_Click() Timer1。
Enabled = True Timer1。Interval = 20 End Sub Private Sub Timer1_Timer() Dim i As Integer i = i + 1 Text1 = i '插入其它代码 If i >= 1001 Then Timer1。
Enabled = False Print i End If End Sub。
我的方法最简单了 代码如下 详细文件看附件 Private Sub cmdstart_Click() Select Case cmdstart.Caption Case "开始" Timer1.Enabled = True cmdstart.Caption = "停止" Case "停止" Timer1.Enabled = False cmdstart.Caption = "开始" End Select End Sub Private Sub Timer1_Timer() Dim i As Integer i = Val(Text1.Text) + 1 If i <= 1000 Then Text1.Text = Str(i) Else i = 1000 End If End Sub
新建VB工程,在窗体中放入一文本框(Text)、一个计时器(Timer),适当调整文本框中字体大小及背景颜色,并修改Timer的Interval属性为1000(1秒钟增加一个数字),将下面的代码Copy到代码窗口: Dim aa As Integer Dim I As Integer Private Sub Form_Load() aa = 1 End Sub Private Sub Timer1_Timer() Text1。
Text = I I = I + aa If I = 1000 Then '当数字增加到1000时,就从1000递减 Text1。Text = I aa = -1 I = I + aa Text1。BackColor = &HC0& Text1。
ForeColor = &H8000& End If If I = 0 Then '当数字小于1000时,就递增 Text1。Text = I aa = 1 I = I + aa Text1。BackColor = &H8000& Text1。
ForeColor = &HC0& End If End Sub 用文本框做这个程序不太理想,因为程序运行时,如果窗体中只有一个文本框,光标会一直在里面闪烁,最好再放一个文本框,并将它的Tabindex设为0,visible设为False,就不会出现光标了。
再慢一点点: Dim i,j,k,l,m,n For i = 1 To 1000 Text1.Text = i DoEvents For j= 1 to 500 DoEvents Next j For k= 1 to 500 DoEvents Next k For l= 1 to 500 DoEvents Next l For m= 1 to 500 DoEvents Next m For n= 1 to 500 DoEvents Next n Next i
速度稍微快了点…… Dim i For i = 1 To 1000 Text1.Text = i DoEvents For k= 1 to 500 DoEvents Next k Next I 稍微延时一下下~~~~~~~~~
答:详情>>
答:下图是DVB-T、DVB-C、DVB-S各自的信道编码方式:信道编码3.7伪随机序列扰码进行基带信号传输的缺点是其频谱会因数据出现连“1”和连“0”而包含大的低...详情>>
答:最基本的是Winsock控件。 余下可能有的包括:DHTML Edit Control for IE5,Microsoft HTML Object Librar...详情>>