c# – 似乎无法获得动画的进度条

c# – 似乎无法获得动画的进度条,第1张

概述好的,所以我有一个像这样的问题. public Class A{ public A(){ progressBar.Style = ProgressBarStyle.Marquee; progressBar.MarqueeAnimationSpeed = 0; } public void DoSomething(){ 好的,所以我有一个像这样的问题.
public Class A{     public A(){         progressbar.Style = ProgressbarStyle.Marquee;         progressbar.MarqueeAnimationSpeed = 0;         }     public voID DoSomething(){         if(checkpasses){             progressbar.MarqueeAnimationSpeed = 100;             //Do something here...             progressbar.MarqueeAnimationSpeed = 0;         }         else             //Do nothing...         }}

问题是我的进度条根本不会开始移动.首先,我认为它不会自己创建一个新线程(我发现有线)所以我尝试创建一个线程,但仍然是相同的结果.什么都没发生.这是我忘记的事吗?

解决方法 您在此处“执行某些 *** 作”代码将阻止UI线程,因此在DoSomething方法完成之前,您将看不到进度条更新.那时你将动画速度设置回0.

尝试将您的“在这里做一些”代码放在一个单独的线程上.该线程完成后,将动画速度设置回0.

像这样的东西:

public partial class Form1 : Form{    public Form1()    {        InitializeComponent();        backgrounDWorker1.DoWork += new DoWorkEventHandler(backgrounDWorker1_DoWork);        backgrounDWorker1.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backgrounDWorker1_RunWorkerCompleted);    }    private voID backgrounDWorker1_RunWorkerCompleted(object sender,RunWorkerCompletedEventArgs e)    {        progressbar1.MarqueeAnimationSpeed = 0;        progressbar1.Style = ProgressbarStyle.Blocks;        progressbar1.Value = progressbar1.Minimum;    }    private voID backgrounDWorker1_DoWork(object sender,DoWorkEventArgs e)    {        DoSomething();    }    private voID button1_Click(object sender,EventArgs e)    {        progressbar1.Style = ProgressbarStyle.Marquee;        progressbar1.MarqueeAnimationSpeed = 100;        backgrounDWorker1.RunWorkerAsync();    }    private voID DoSomething()    {        Thread.Sleep(2000);    }}
总结

以上是内存溢出为你收集整理的c# – 似乎无法获得动画的进度条全部内容,希望文章能够帮你解决c# – 似乎无法获得动画的进度条所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1240760.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存