C# WinForm ProgressBar垂直显示进度和从右向左显示进度

1. 尝试将ProgressBar的RightToLeft属性设置为System.Windows.Forms.RightToLeft.Yes,同时将RightToLeftLayout属性设置为true,ProgressBar的进度指示将从右向左显示。

2. 如何实现一个垂直进度显示的进度条?

  自定义VerticalProgressBar类继承ProgressBar,改写属性CreateParams如下:

public class VerticalProgressBar : ProgressBar
{
    
protected override CreateParams CreateParams
    {
        
get
        {
            CreateParams cp 
= base.CreateParams;
            cp.Style 
|= 0x04;
            
return cp;
        }
    }
}

  在窗体中找到定义ProgressBar的代码(如Form1.Designer.cs),将类型从System.Windows.Forms.ProgressBar修改为VerticalProgressBar。界面中需要将ProgressBar的高和宽进行适当调整。加入可以控制ProgressBar进度的代码,运行程序,你将会看到一个进度从下向上的垂直进度条。下面是程序运行的截图。同时附上完整代码VerticalProgressBar.zip

垂直从下向上显示

 

水平从右向左显示

 

posted @ 2011-07-29 17:40  Jaxu  阅读(14293)  评论(1编辑  收藏  举报