public void AddMultipleUpdates(List <Device> devices) { try { Waiting(); foreach (var device in devices) { if (!Exists(device)) { var newProgCtl = new FileTransferUI(this, device, createMissingDirs, Paths.GKExtractDir, Paths.GKRemoteDir, "Gatekeeper Update", progressControls.Count + 1); progressControls.Add(newProgCtl); newProgCtl.CriticalStopError += CriticalStop; } } ProgressControlsTable.SuspendLayout(); this.SuspendLayout(); ProgressControlsTable.Controls.AddRange(progressControls.ToArray()); ProgressControlsTable.ResumeLayout(); this.ResumeLayout(); ProcessUpdates(); this.Show(); this.WindowState = FormWindowState.Normal; this.Activate(); } finally { DoneWaiting(); } }
public GKUpdaterForm(ExtendedForm parentForm) : base(parentForm) { InitializeComponent(); this.DisableDoubleBuffering(); MaxUpdates.Value = concurrentUpdates; ProgressControlsTable.DoubleBuffered(true); DoQueueCheckerLoop(); }