C # - отображение загрузки 1-100% в течение 4 секунд - PullRequest
0 голосов
/ 22 октября 2009

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

Ответы [ 3 ]

4 голосов
/ 22 октября 2009

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

private int _Progress = 0;

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

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

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

1 голос
/ 22 октября 2009

Если вы говорите о 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;
}
0 голосов
/ 22 октября 2009

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

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

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

...