如何在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
相关产品推荐
相关产品推荐

