首页 新闻 赞助 找找看

求一个winform使用的Loading功能源码,网上的例子项目中使用不理想

0
悬赏园豆:10 [已解决问题] 解决于 2016-05-27 13:28

1、求一个在项目中使用的loading源码。照片我也能敲。

2、网上的例子我使用了,底下测试可以使用,但是搬到项目里,就不知道为什么会为啥不显示。比如

showLoading();

step();

hideLoading();

如果我不把hideLoading()方法禁用,loading就不会显示,无论step();耗时多久。而且我根本找不到原因,就是调用了自定用控件的显示隐藏属性而已。

代码小兵的成长的主页 代码小兵的成长 | 菜鸟二级 | 园豆:303
提问于:2016-05-27 09:22
< >
分享
最佳答案
0

showLoading();

Application.DoEvents();

step();

hideLoading();

收获园豆:5
刘宏玺 | 专家六级 |园豆:14020 | 2016-05-27 13:03

对对对,就是这样滴,搞出来了,3QQQQQQQQ

代码小兵的成长 | 园豆:303 (菜鸟二级) | 2016-05-27 13:27

大哥,有问题,如果是这种情况loading就不会转了

showLoading();

Application.DoEvents();

step1();

hideLoading();

step2();

代码小兵的成长 | 园豆:303 (菜鸟二级) | 2016-06-03 13:59

@代码小兵的成长: 

showLoading();

Application.DoEvents();

step1();

hideLoading();
Application.DoEvents();

step2();

刘宏玺 | 园豆:14020 (专家六级) | 2016-06-03 14:00

@刘宏玺: 还是没用,我都用了多线程异步调用来做了,只要是hideLoading()后面有操作,都会卡死

代码小兵的成长 | 园豆:303 (菜鸟二级) | 2016-06-03 14:21
其他回答(1)
0

step()期间,窗体是不是无响应?加上Application.DoEvents()试试。

收获园豆:5
geeksnail | 园豆:368 (菜鸟二级) | 2016-05-27 11:07

对,所以我搞不定,我试试

支持(0) 反对(0) 代码小兵的成长 | 园豆:303 (菜鸟二级) | 2016-05-27 13:23

多谢多谢,就是这个原因,气死哥,搞了两天。

支持(0) 反对(0) 代码小兵的成长 | 园豆:303 (菜鸟二级) | 2016-05-27 13:27

大哥,有问题,如果是这种情况loading就不会转了

showLoading();

Application.DoEvents();

step1();

hideLoading();

step2();

支持(0) 反对(0) 代码小兵的成长 | 园豆:303 (菜鸟二级) | 2016-06-03 14:00

最好把耗时操作放到线程中,不阻塞界面刷新。线程中如果有对界面的操作,再invoke一下。如:

  new Thread(
    () =>
    {
      //耗时操作
      this.Dispatcher.Invoke(
        (Action)(() =>
        {
          //界面操作
        })
        );
    }
    ).Start();
支持(0) 反对(0) geeksnail | 园豆:368 (菜鸟二级) | 2016-06-04 16:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册