| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 452 人关注过本帖
标题:求助——如何连续改变同一个textbox的数值?
只看楼主 加入收藏
xielucoao
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-12-1
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
求助——如何连续改变同一个textbox的数值?
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Command1_Click()
    Text1.Text = "第一次"       '这里是第一次需要显示的内容
    Sleep 1000       ‘ 比如这里我假设想干点什么别的
    Text1.Text = ""   '这里我希望清空第一次的值
    Sleep 1000        '这里继续干点别的什么
    Text1.Text = "第二次"        '这里是我希望第二次显示的内容
End Sub


为什么只能显示第二次的内容,第一次的内容不显示呢?求救。

另外,textbox控件数组为什么默认不需要.text 属性呢
比如下面的
Private Sub Command1_Click()
Text1(0) = "大家好"  '这句跟 Text1(0).Text="大家好"一样了
End Sub
搜索更多相关主题的帖子: 如何 
2013-12-01 14:54
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:20 
Private Sub Command1_Click()
    Text1.Text = "第一次"       显示内容
    Sleep 1000                  线程挂起,程序无响应,所以看到不前面的显示内容
    Text1.Text = ""             清空内容
    Sleep 1000                  线程再次被挂起,程序无响应,所以也看不到执行结果
    Text1.Text = "第二次"       显示内容,因后面不再挂起,所以可以看得到这次的结果
End Sub

如果你打算,1秒显示一个值,那么应该使用 定时器来显示。

计定时器每1秒触发一次
Private Sub Timer1_Timer()
Static i As Long
Select Case i
    Case 0
        Text1.Text = "第一次"
        i = i + 1
    Case 1
        Text1.Text = "第二次"
        i = i + 1
    .......
    Case Else
        Timer1.Enabled = False
End Select
End Sub

-----------------------
textbox控件数组为什么默认不需要.text 属性呢
textbox 控件的默认属性是 .text 属性,针对一个控件的默认属性时,可以省略写属性名。
不光控件数组,就是单个的控件,默认属性也都可以省略不写,不过不建议这样写而以。

授人于鱼,不如授人于渔
早已停用QQ了
2013-12-01 15:19
xielucoao
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-12-1
收藏
得分:0 
可能是我表达的不太清楚

Private Sub Command1_Click()
    Text1.Text = "第一次"       显示内容
    Sleep 1000                  '其实这里是希望运行一些其他的函数什么的,时间无法确定,有长时间有短时间,所以希望在运行其他的函数之前,text1的内容可以显示出来,比如在这个text里面显示目前正在干什么
    Text1.Text = ""             清空内容
    Sleep 1000                  '其实这里是希望运行一些其他的函数什么的,时间无法确定,有长时间有短时间
    Text1.Text = "第二次"       显示内容,因后面不再挂起,所以可以看得到这次的结果
End Sub
2013-12-01 15:27
xielucoao
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-12-1
收藏
得分:0 
刚才我找了个延迟函数,发现如果将延迟函数加在中间就可以正常显示了。

Public Sub delay(i As Integer)

          Dim t1     As Long
         
          Dim t2     As Long
         
          t1 = timeGetTime
         
          While (t2 - t1 < i * 1)                     '//*1000,那i就是要延时i秒,级别可以自己定
                  
                  t2 = timeGetTime
                  
                  DoEvents
          Wend
End Sub
2013-12-01 15:51
xielucoao
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-12-1
收藏
得分:0 
谢谢斑竹了
2013-12-01 15:56
快速回复:求助——如何连续改变同一个textbox的数值?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.072211 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved