您的位置:程序门 -> .net技术 -> c#



text属性为什么不能及时刷新?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


text属性为什么不能及时刷新?[已结贴,结贴人:bzscs]
发表于:2007-01-06 17:39:23 楼主
例如如下循环,希望label1象计时器一样跳动从1到199999,但运行的时候只能显示最后一个数字
private   void   button1_click(object   sender,   system.eventargs   e){
    for(int   i=0;i <20000;i++){
        label1.text   =   convert.tostring(i);
    }
}
发表于:2007-01-06 17:46:101楼 得分:4
因为计算机运行的速度太快了
哈哈   所以你才看到的是最后一个
发表于:2007-01-06 18:20:582楼 得分:4
加一个延时
delay(1000);//延时1秒

  #region   延时(单位为毫秒)   因为2个时间点在毫秒级的差距永远小于1000,所以分开计算
                public   static     void   delay(int   delaytime)
                {
                        datetime   now   =   datetime.now;
                        int   s;//相差的秒数
                        int   f;//相差的毫秒数
                        if   (delaytime   <   1000)//   延时在1秒以内
                        {
                                do
                                {
                                        timespan   spand   =   datetime.now   -   now;
                                        f   =   spand.milliseconds;
                                        application.doevents();
                                }
                                while   (f   <   delaytime);
                        }
                        else//延时超过1秒
                        {
                                do
                                {
                                        timespan   spand   =   datetime.now   -   now;
                                        s   =   spand.seconds;
                                        f   =   spand.milliseconds;
                                        application.doevents();
                                }
                                while   (s   *   1000   +   f   <   delaytime);
                        }
                }
                #endregion
发表于:2007-01-06 18:46:013楼 得分:0
可以用个timer做..
发表于:2007-01-06 18:49:194楼 得分:4
private   void   button1_click(object   sender,   system.eventargs   e){
    for(int   i=0;i <20000;i++){
        label1.text   =   convert.tostring(i);
        thread.sleep(1000);//延时一秒
    }
}
发表于:2007-01-06 19:02:005楼 得分:4
请问怎么加?
发表于:2007-01-06 19:36:036楼 得分:4
for   example:

                private   void   button1_click(object   sender,   eventargs   e)
                {
                        this.timer1.interval   =   100;
                        this.timer1.enabled   =   true;
                }

                private   int   i   =   0;
                private   void   timer1_tick(object   sender,   eventargs   e)
                {
                        if   (i   <   200)
                        {
                                this.label1.text   =   i++.tostring();
                        }
                }


快速检索

最新资讯
热门点击