public static void ButtonEnable(Button button, bool enable) { if (button.InvokeRequired) { ButtonEnableCallback d = new ButtonEnableCallback(ButtonEnable); Program.MainForm.Invoke(d, new object[] { button, enable }); } else { button.Enabled = enable; } }
/// <summary> /// Sets whether the "Export" button can be clicked Async /// </summary> /// <param name="enabled">Value of enabled status on button</param> private void setButtonEnabled(bool enabled) { if (this.btnExport.InvokeRequired) { ButtonEnableCallback d = new ButtonEnableCallback(setButtonEnabled); this.Invoke(d, new object[] { enabled }); } else { this.btnExport.Enabled = enabled; } }
//method that display inverted image //delegate necessary for management of filte button status (Enable/Disable) private void InverFilter_OperationComplet() { if(toolStrip.InvokeRequired) { var i = new ButtonEnableCallback(InverFilter_OperationComplet); Invoke(i); } else { snapshotDrawArea = invertFilter.Image; g = panelDrawArea.CreateGraphics(); g.DrawImageUnscaled(snapshotDrawArea, 0, 0); g.Dispose(); invertToolStripButton.Enabled = true; } }