You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ProgressBar的正中央显示进度百分比?

给ProgressBar添加居中文本的问题及尝试

我尝试用Label给ProgressBar添加居中显示的文本,初始代码如下:

public partial class Form1 : Form
{
    private readonly HttpClient _httpClient;
    private readonly ProgressBar _progressBar;
    private readonly Label _labelProgress;
    private readonly Timer downloadTimer;
    private readonly Radar radar;

    public Form1()
    {
        InitializeComponent();

        _httpClient = new HttpClient();

        _progressBar = new ProgressBar
        {
            Size = lblNextTimeDownload.Size,
            Minimum = 0,
            Maximum = 100,
            Value = 0,
        };

        _labelProgress = new Label
        {
            AutoSize = false,
            TextAlign = ContentAlignment.MiddleCenter,
            Font = new Font("Arial", 12, FontStyle.Regular),
        };

        _progressBar.Controls.Add(_labelProgress);
        Controls.Add(_progressBar);
    }
}

运行后发现,_labelProgress 显示在ProgressBar的左上角,无法居中。

于是我给Label实例添加了一行代码:

Dock = DockStyle.Fill,

修改后的Label初始化代码如下:

_labelProgress = new Label
{
    AutoSize = false,
    TextAlign = ContentAlignment.MiddleCenter,
    Dock = DockStyle.Fill,
    Font = new Font("Arial", 12, FontStyle.Regular),
};

这次Label的文本确实显示在ProgressBar的正中央,但Label会完全覆盖整个ProgressBar,导致进度条的进度显示被遮挡。

内容的提问来源于stack exchange,提问作者Shien

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 14:04:53