100分问个ProgressBar显示百分比进度条

tiandiyuzhou2 tiandiyuzhou2 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
原本进读条上我放了个label,可是

label的背景色为灰色,
我设置了BackColor="Transparent",以及parent=ProgressBar
可是还是不行。
后来有个朋友给了这段代码。

public class PercentProgressBar : ProgressBar
{
protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
const int WM_PAINT = 15;
if (m.Msg == WM_PAINT && this.Value > 0)
{
using (Graphics g = this.CreateGraphics())
{
string percentage = this.Tag.ToString();
StringFormat sf = new StringFormat();
sf.Alignment = sf.LineAlignment = StringAlignment.Center;
g.DrawString(percentage, SystemFonts.DefaultFont, Brushes.Red, this.ClientRectangle, sf);
}
}
}
}
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < 5000; i++)
{
percentProgressBar1.Tag = ((double)i / 5000 * 100).ToString("f2");
percentProgressBar1.Value = Convert.ToInt32((double)i / 5000 * 100);
Thread.Sleep(1);
}
}

可是调用的话还没显示100%,就停止不继续绘画了。

上面两个问题,
1:设置label透明
2:让PercentProgressBar 可以完整的显示到100%;
...全文
评论 22
收藏 已收藏
分享
返回顶部
tiandiyuzhou2
C# 111,128 成员 642,536 内容