BrawlBuilder.BrawlBuilder.blinker_DoWork C# (CSharp) Méthode

blinker_DoWork() private méthode

private blinker_DoWork ( object sender, DoWorkEventArgs e ) : void
sender object
e DoWorkEventArgs
Résultat void
		private void blinker_DoWork(object sender, DoWorkEventArgs e)
		{
			string statusBack = _curStatus;

			while (true)
			{
				// 'Sleep' for ~2000ms, but cancel faster
				for (int i = 0; i < 20; i++)
				{
					if (blinker.CancellationPending)
						break;
					Thread.Sleep(100);
				}

				if (blinker.CancellationPending)
					break;

				// 'Sleep' for ~4000ms, but also update & cancel faster
				for (int i = 0; i < 40; i++)
				{
					float percent = (int)((float)_progress / _progressMax * 100);
					SetStatus(percent + "%");
					Thread.Sleep(100);

					if (blinker.CancellationPending)
						break;
				}

				if (blinker.CancellationPending)
					break;

				SetStatus(statusBack);
			}

			SetStatus(statusBack);

			e.Cancel = true;
		}
	}