public partial class dload : Form
{
public dload()
{
InitializeComponent();
}
private void dload_Load(object sender, EventArgs e)
{
label1.Visible = false;
}
private void button1_Click(object sender, EventArgs e)
{
int i = 0;
progressBar1.Minimum = 0;
progressBar1.Maximum = 5000;
for (i = 0; i <= 5000; i++)
{
progressBar1.Value = i;
if (i == 5000)
{
label1.Visible = true;
}
}
}
}
Проблема заключается в том, что метка отображается до завершения рабочего шага. Как сделать отображение этикеток только после того, как индикатор выполнения полностью завершен?Нужна помощь по исправлению индикатора выполнения
Чтобы добавить дополнительную информацию, потому что сайт не разрешит ее, я попытался изменить максимальные значения на большее число, но это не сработало.
Во-первых, ваш цикл будет работать только 5000. Вам не нужно 'if' внутри цикла. Удалите предложение while и поставьте 'label1.Visible = true;' под цикле. Теперь, в вашем случае, progressbar завершен, но пользовательский интерфейс еще не обновил его. Я думаю, вы могли бы поставить 'progressBar1.Refresh()' после обновления значения. _edit_ Просто запустил этот код и понял, что вы имеете в виду. Это странно. Нужно исследовать и возвращаться к вам – bixarrio
Почему бы вам не установить 'label1.Visible = true;' после цикла 'for'? – Philippe
Вам не нужен оператор if. Просто переместите label1.Visible после цикла. – frostbyte