【发布时间】:2012-05-17 20:38:54
【问题描述】:
好的,这是我在进度条上绘制内容的代码:
private void timer2_Tick(object sender, EventArgs e)
{
int percent = progressBar1.Value;
progressBar1.CreateGraphics().DrawString(percent.ToString() + "%", new Font("Arial", (float)8.25, FontStyle.Regular), Brushes.Black, new PointF(progressBar1.Width / 2 - 10, progressBar1.Height / 2 - 7));
progressBar1.Increment(+1);
if (progressBar1.Value >= 99)
{
timer2.Stop();
this.Close();
}
好的,所以我在它的中间画了一个标签,它将显示进度条的值。由于某种原因,它一直在闪烁……消失又出现。所以,有人告诉我把那个代码拿出来放在paint方法中……我没看到。有没有更简单的方法?
【问题讨论】:
-
检查将
DoubleBuffered设置为true是否有任何不同。 -
DoubleBuffered 在哪里?它在进度条中......还是什么?我是新来的,所以...对不起
-
@EliteGamer 是表单本身的属性。
-
另外,为什么我的表格这么早关闭...它达到了大约 97 然后停止
-
我认为在paint方法中绘制一些东西比从其他地方绘制更合乎逻辑。性能方面我不知道是否有任何不同。 DoubleBuffered 可以提供很大帮助。
标签: c# progress-bar visual-c#-express-2010