如何将%rate添加到进度条?

时间:2010-07-29 12:59:24

标签: c# .net

我想在进度条上写下进度。我附上了一个标签。但它没有效果。有什么简单的方法吗?

private static void ReportStatus(int totalBytes, int processedBytes, Aumpel aumpelObj)
{
           progressBar1.Value = (int)(((float)processedBytes / (float)totalBytes) * 100);
           labelProgressValue.Text = "Processing %" + progressBar1.Value;
}

3 个答案:

答案 0 :(得分:1)

labelProgressValue.Text = string.Format("Processing {0:0.0%}", progressBar1.Value);

答案 1 :(得分:1)

我会扩展ProgressBar控件并覆盖OnPaint方法并直接在控件上绘制百分比。

答案 2 :(得分:0)

是的,这在Windows 3.x时代很受欢迎。您不再看到这一点,因为在现代Windows版本上看起来很难看起来很好。问题在于文本的呈现方式,ClearType渲染需要明确定义的背景颜色才能使抗锯齿像素正常工作。在进度条上很难得到,尤其是带有旅行高光笔记的Vista和Win7版本。

您必须自己制作Label控件。通过重写CreateParams并打开WS_EX_TRANSPARENT样式使其透明。同样重写OnPaint以绘制文本,您将不得不更改e.Graphics.TextRenderingHint以关闭消除锯齿功能。结果并不漂亮。