public Form1() { InitializeComponent(); steps = stepsCompleted = 0; dim = 0; maxY = 0; TrySetVals(); coeffs = new double[4, 7]; SetDefaultCoeffs(); isPlaying = false; isComplete = false; SetStates(); x = y = 0; fileBitMap = null; colour = Color.Black; s = null; ColourButton.Enabled = false; c = new ColourPicker(); ColourButton.Enabled = true; isClosing = false; }
void InvokeSummaryForm() { string ETAString = "[No accurate time remaining estimate available.\n\nHit 'Refresh' bitton.]"; double percentComplete = Math.Round((stepsCompleted / steps) * 100, 2); if (percentComplete > 0) { double secondsPerPercent = (DateTime.Now - startTime).TotalSeconds / percentComplete; double ETASeconds = secondsPerPercent * (100 - percentComplete); TimeSpan t = TimeSpan.FromSeconds(ETASeconds); ETAString = string.Format("E.T.A: {0:D2}h:{1:D2}m:{2:D2}s", t.Hours, t.Minutes, t.Seconds) + "\n\n"; } if (isPlaying == false) { ETAString += "Hit the 'resume' button to continue execution,\nor dismiss this dialog and hit the 'Play' button."; } string stepsString = "Steps Complete: " + stepsCompleted + " of " + steps + "\n\n"; stepsString += "Percent Complete: " + percentComplete + "%\n\n"; string header = ""; if (isPlaying == true) { header = "In Progress"; } else { header = "PAUSED"; } s = new StatusForm(header, (stepsString + ETAString), isPlaying); DialogResult r = s.ShowDialog(); if (r == DialogResult.Retry) { InvokeSummaryForm(); } else if (r == DialogResult.Yes) { logicThread.Resume(); isPlaying = true; PauseButton.Text = "Pause"; SaveButton.Enabled = false; } }