扩展方法
/// <summary> /// 扩展方法必须在非泛型静态类中定义 /// </summary> static class MyExtension { /// <summary> /// 跨线程操作控件,在控件上执行委托。调用方法示例:button1.MyInvoke(() => { button1.Text = ""; }); /// </summary> /// <param name="ctl">控件</param> /// <param name="dlg">委托</param> public static void MyInvoke(this Control ctl, ThreadStart dlg) { if (dlg == null) return; if (!ctl.IsHandleCreated || ctl.IsDisposed || ctl.Disposing) return; if (ctl.InvokeRequired) ctl.Invoke(dlg, null); else dlg(); } }