首页新闻找找看学习计划

[C#] 为什么进度条控件在循环中增长需要下一次在循环中调取外部方法时, 才会增长.

0
[已关闭问题] 关闭于 2019-12-05 17:01

https://img.nga.178.com/attachments/mon_201912/04/-4bvoQ5-2ifxKbT3cSno-6k.png
前提: 上图的if判断被for循环包围
frmMatte.g_frmInstance.ProgressStep(); 的意思是进度条+1, 如下两图

https://img.nga.178.com/attachments/mon_201912/04/-4bvoQ5-i13vK2T1kS9z-2u.png
https://img.nga.178.com/attachments/mon_201912/04/-4bvoQ5-ctucK3T1kSbg-4f.png

这个if判断isCreate是否为True, 是则调用ByCirAndLineCreSweptSolid(), 否则不调用.
但是无论如何都会调进度条++的方法.
BUG出现在: 假设目前是第一次循环, 调用了进度条++的方法, 这个时候进度条不会增长. 而是等到第二次循环时调用ByCirAndLineCreSweptSolid()方法的瞬间才增长. 第二次循环就等第三次才增长.
如果第三次isCreate为false则等到第四次, 如果一直为false那就进度条直到结束都不增长.
然后我在else处也写了ByCirAndLineCreSweptSolid()这个方法, 发现还是不行, 必须等到了if判断true的地方调用ByCirAndLineCreSweptSolid(), 上一次或者上上一次的进度条增长方法使进度条增长才会生效.

所以, 有没有人知道这个问题为什么会出现的么.

没有开通博客所以用了别的站点的图片...

C#
PWBMello的主页 PWBMello | 初学一级 | 园豆:170
提问于:2019-12-04 16:19
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册