我想在进度条上写下进度。我附上了一个标签。但它没有效果。有什么简单的方法吗?
private static void ReportStatus(int totalBytes, int processedBytes, Aumpel aumpelObj)
{
progressBar1.Value = (int)(((float)processedBytes / (float)totalBytes) * 100);
labelProgressValue.Text = "Processing %" + progressBar1.Value;
}
答案 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以关闭消除锯齿功能。结果并不漂亮。