分享

ProgressBar——Marquee .

 反反复复奋斗 2017-05-12
VS2005平台下的ProgressBar控件有三种Style:
Blocks 通过在 ProgressBar 中增加分段块的数量来指示进度。
Continuous 通过在 ProgressBar 中增加平滑连续的栏的大小来指示进度。
Marquee 通过以字幕方式在 ProgressBar 中连续滚动一个块来指示进度。
1.设置Marquee样式
progressBar1.MarqueeAnimationSpeed = 50;//设置字幕动画的速度(单位是毫秒)
progressBar1.Style = ProgressBarStyle.Marquee;//设置进度条样式为marquee
开始滚动时设置为Marquee样式,停止滚动时设置为Blocks样式即可
如果系统安装了桌面主题的话,可能会干扰Marquee样式的显示,卸掉后就不影响了
通过下面的演示程序看一下效果吧
view plaincopy to clipboardprint?
·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150
//在窗口中拖入ProgressBar控件,Timer控件,Button控件
bool timeout = false;//指示线程挂起时间是否到达
private void timer1_Tick(object sender, EventArgs e)
{
if (timeout)
{
timer1.Stop();//计时器停止计时
timeout = false;
progressBar1.Style = ProgressB
arStyle.Blocks;//设置进度条样式为blocks
}
}
private void button1_Click(object sender, EventArgs e)
{
timer1.Start();//计时器开始计时
timeout = false;
progressBar1.MarqueeAnimationSpeed = 50;//设置字幕动画的速度(单位是毫秒)
progressBar1.Style = ProgressBarStyle.Marquee;//设置进度条样式为marquee
//
System.Threading.Thread myThread;//创建另一个线程(用于计时吧)
myThread = new System.Threading.Thread(new System.Threading.ThreadStart(myStartingMethod));
myThread.Start();//启动线程
}
private void myStartingMethod()
{
Thread.Sleep(6000);//线程挂起时间(单位是毫秒)
timeout = true;//修改
}
ToolStripProgressBar控件是ProgressBar控件的升级,也有这方面的功能
在实际使用时,我设置了progressbar的Marquee,但是没有用。。
查了资料才发现 没有启用 视觉样式
加上只一句 Application.EnableVisualStyles(); 就可以了

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多