2 using System.Windows.Forms;
6 public class AsyncForm : Form
8 delegate void SetControlEnabledCallback(Control control, bool val);
9 public void SetControlEnabled(Control control, bool val)
11 if (control.InvokeRequired)
13 SetControlEnabledCallback d = new SetControlEnabledCallback(SetControlEnabled);
16 this.Invoke(d, new object[] { control, val });
22 control.Enabled = val;
26 delegate void SetControlTextCallback(Control control, string val);
27 public void SetControlText(Control control, string val)
29 if (control.InvokeRequired)
31 SetControlTextCallback d = new SetControlTextCallback(SetControlText);
34 this.Invoke(d, new object[] { control, val });
44 delegate void SetCheckboxCheckedCallback(CheckBox control, bool val);
45 public void SetCheckboxChecked(CheckBox control, bool val)
47 if (control.InvokeRequired)
49 SetCheckboxCheckedCallback d = new SetCheckboxCheckedCallback(SetCheckboxChecked);
52 this.Invoke(d, new object[] { control, val });
58 control.Checked = val;
62 delegate void SetProgressValueCallback(ProgressBar control, int val);
63 public void SetProgressValue(ProgressBar control, int val)
65 if (control.InvokeRequired)
67 SetProgressValueCallback d = new SetProgressValueCallback(SetProgressValue);
70 this.Invoke(d, new object[] { control, val });
80 delegate void SetComboBoxItemsCallback(ComboBox control, string selectedText, object[] val);
81 public void SetComboBoxItems(ComboBox control, string selectedText, object[] val)
83 if (control.InvokeRequired)
85 SetComboBoxItemsCallback d = new SetComboBoxItemsCallback(SetComboBoxItems);
88 this.Invoke(d, new object[] { control, selectedText, val });
94 control.Items.Clear();
95 control.Items.AddRange(val);
96 control.Text = selectedText;
100 delegate void SetControlVisibleCallback(Control control, bool val);
101 public void SetControlVisible(Control control, bool val)
103 if (control.InvokeRequired)
105 SetControlVisibleCallback d = new SetControlVisibleCallback(SetControlVisible);
108 this.Invoke(d, new object[] { control, val });
110 catch (Exception) { }
114 control.Visible = val;