标题:新手学c#帮忙找下这段代码的问题!!!
只看楼主
莹色暮雨
Rank: 1
来 自:四川眉山
等 级:新手上路
帖 子:16
专家分:0
注 册:2012-11-15
结帖率:100%
已结贴  问题点数:5 回复次数:5 
新手学c#帮忙找下这段代码的问题!!!
窗体中有个label1,progressBar1,Button1
代码如下
private void button1_Click(object sender,EventArgs e)
{
     progressBar1.Maximum=100;
     progressBar1.Manimum=1;
     progeessBar1.Step=1;
     for(int i=1;i<=100;i++)
     {
          label1.Text=i.ToString()+"/100";
          progreeBar1.PerformStep();
      }

}
为什么标签上的数从0/100直接就变成了100/100???????
搜索更多相关主题的帖子: void private 
2013-04-01 08:46
lantian8134
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:8
帖 子:115
专家分:789
注 册:2013-1-11
得分:5 
UI线程阻塞了
程序代码:
 progressBar1.Maximum = 100;
            progressBar1.Minimum = 1;
            progressBar1.Step = 1;
            for (int i = 1; i <= 100; i++)
            {
                label1.Text = i.ToString() + "/100";
                Application.DoEvents();//请尝试加入这行代码
                progressBar1.PerformStep();
            }

2013-04-01 09:06
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2545
专家分:9359
注 册:2007-11-3
得分:0 
事件不对 你最好在TIMER事件里面写

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2013-04-01 09:27
莹色暮雨
Rank: 1
来 自:四川眉山
等 级:新手上路
帖 子:16
专家分:0
注 册:2012-11-15
得分:0 
谢谢!!!试过加那条语句,有效果,但是进度条可能还有1/3没滚动完是标签上就显示100/100了。还没试过timer事件。
2013-04-01 10:54
lantian8134
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:8
帖 子:115
专家分:789
注 册:2013-1-11
得分:0 
那是因为你循环一百次执行的时间实在快了,界面刷新也是需要时间的
用以下代码就能看出真实效果了
程序代码:
progressBar1.PerformStep();
label1.Text = i.ToString() + "/100";
Application.DoEvents();//请尝试加入这行代码
System.Threading.Thread.Sleep(500);//请再加入这行代码

 
2013-04-01 13:32
莹色暮雨
Rank: 1
来 自:四川眉山
等 级:新手上路
帖 子:16
专家分:0
注 册:2012-11-15
得分:0 
哦,懂了!3q!!!
2013-04-01 19:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-402576-1-1.html




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

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