private void RunNow() { try { long maxCount = System.Convert.ToInt64(_nupCycles.Value); UpdateProgressDelegate updateDeleg = new UpdateProgressDelegate(UpdateProgress); ResetFormDelegate resetDeleg = new ResetFormDelegate(ResetForm); bool runForEver = _chkRunForever.Checked; int sleepCount = 0; int sleepAfter = System.Convert.ToInt32(_nupSleepCycles.Value); int sleepTime = System.Convert.ToInt32(_nupSleep.Value); long uiUpdate = System.Convert.ToInt64(Math.Round((System.Convert.ToDouble(maxCount) / 100) * 2, 0)); long uiUpdateCount = 0; do { for (long i = 0; i < maxCount; i++) { uiUpdateCount++; runForEver = _chkRunForever.Checked; sleepAfter = System.Convert.ToInt32(_nupSleepCycles.Value); sleepTime = System.Convert.ToInt32(_nupSleep.Value); if (_stop) { runForEver = false; break; } if (uiUpdateCount >= uiUpdate) { Invoke(updateDeleg, new object[] { i, maxCount }); uiUpdateCount = 0; } //UpdateProgress(i, maxCount); if (sleepTime > 0) { sleepCount++; if (sleepCount >= sleepAfter) { Thread.Sleep(sleepTime); sleepCount = 0; } } } }while (runForEver); Invoke(updateDeleg, new object[] { maxCount, maxCount }); Invoke(resetDeleg, null); //ResetForm(); } catch { } }
private void RunNow() { try { long maxCount = System.Convert.ToInt64(_nupCycles.Value); UpdateProgressDelegate updateDeleg = new UpdateProgressDelegate(UpdateProgress); ResetFormDelegate resetDeleg = new ResetFormDelegate(ResetForm); bool runForEver = _chkRunForever.Checked; int sleepCount = 0; int sleepAfter = System.Convert.ToInt32(_nupSleepCycles.Value); int sleepTime = System.Convert.ToInt32(_nupSleep.Value); long uiUpdate = System.Convert.ToInt64( Math.Round((System.Convert.ToDouble(maxCount) / 100) * 2,0)); long uiUpdateCount = 0; do { for (long i = 0; i < maxCount; i++) { uiUpdateCount++; runForEver = _chkRunForever.Checked; sleepAfter = System.Convert.ToInt32(_nupSleepCycles.Value); sleepTime = System.Convert.ToInt32(_nupSleep.Value); if (_stop) { runForEver = false; break; } if (uiUpdateCount >= uiUpdate) { Invoke(updateDeleg, new object[] { i, maxCount }); uiUpdateCount = 0; } //UpdateProgress(i, maxCount); if (sleepTime > 0) { sleepCount++; if (sleepCount >= sleepAfter) { Thread.Sleep(sleepTime); sleepCount = 0; } } } } while (runForEver); Invoke(updateDeleg, new object[] { maxCount, maxCount }); Invoke(resetDeleg, null); //ResetForm(); } catch { } }