ProgressBar 的进度百分比问题??
我搜了一下论坛,很多人都提出这个问题,都没有一个答案。要是单实现功能不难,在进度条上加个标签控件显示百分比就行了。
但我还想知道就是进度条本身在重绘时,能不能加入一个绘制文本的功能。
可惜,我找了一个晚上也没找到想其他控件一样的Paint事件。
下面是我从网上找到的一个答案,但我不知怎么用
public class ProgressBarEx : ProgressBar
{
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
RectangleF rect = (RectangleF)e.ClipRectangle;
int percent = (int)((this.Value / (double)this.Maximum) * 100.0);
string caption = percent.ToString() + "%";
StringFormat format = new StringFormat(StringFormatFlags.NoWrap);
format.Alignment = StringAlignment.Center;
format.LineAlignment = StringAlignment.Center;
e.Graphics.DrawString(caption, this.Font, Brushes.Red, rect, format);
}
}