C # - отображение загрузки 1-100% в течение 4 секунд

StackOverflow https://stackoverflow.com/questions/1604302

Вопрос

У меня есть ярлык на заставке, который отображается в течение 4 секунд. Я пытаюсь заставить ярлык отображать процесс загрузки в процентах. Очевидно, это просто для того, чтобы показать пользователю, что программа действительно запускается, а не "загружается" на самом деле. что-нибудь. Есть ли способ, чтобы ярлык отображал процент (от 1% до 100%) в течение 4 секунд? Немного растерялся, как это сделать.

Это было полезно?

Решение

Поместите элемент управления Timer в форму и установите для его свойства Interval значение 40, а для свойства Enabled - значение true. Создайте переменную уровня формы следующим образом:

private int _Progress = 0;

В событии Timer Tick введите этот код:

if (_Progress < 100)
{
    _Progress++;
    label1.Text = _Progress.ToString() + "%";
}
else
{
    timer1.Enabled = false;
}

Таймеры не совсем точны с точностью до миллисекунды, поэтому это не займет ровно 4 секунды, но сработает.

Другие советы

Если вы говорите о WinForms (не WPF), самым простым способом было бы управление таймером. Установите время ожидания на 40 мс (4 с = 4000 мс. 4000 мс / 100 обновлений = 40 мс). Создайте целое число на уровне класса для отслеживания прогресса. Тогда ваш код для события OnTick будет выглядеть примерно так ...

if(progress < 100)
{
  progress++;
  progessLabel.Text = String.Format("Loading...  Progress: {0}%", progress);
}
else
{
  timer.Enabled = false;
}

Таймер с интервалом в 100 миллисекунд будет самым простым подходом. Сохраняйте количество вызовов таймера и обновляйте индикатор выполнения на 2,5 процента каждый тик.

Хотя это сработает, я бы сказал, что индикатор прогресса не идеален для этой ситуации. Вместо этого лучше использовать анимированную графику, так как она показывает, что ваша программа запускается, но не вводит в заблуждение, как индикатор выполнения.

Я думаю, что Microsoft регулярно совершает эту ошибку, используя вводящие в заблуждение индикаторы выполнения в некоторых приложениях.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top