/// <summary> /// 更新状态栏中央的文字,被其他线程委托调用 /// </summary> /// <param name="text"></param> private void updateStatusStripCenter(string text) { if (this.statusStrip1.InvokeRequired)//如果调用控件的线程和创建创建控件的线程不是同一个则为True { while (!this.statusStrip1.IsHandleCreated) { //解决窗体关闭时出现“访问已释放句柄“的异常 if (this.statusStrip1.Disposing || this.statusStrip1.IsDisposed) { return; } } UpdateUiStringDelegate d = new UpdateUiStringDelegate(updateStatusStripCenter); this.statusStrip1.Invoke(d, new object[] { text }); } else { this.toolStripStatusLabel3.Text = text; } }
/// <summary> /// 更新主页面的html内容,被其他线程委托调用 /// </summary> /// <param name="text"></param> private void showToDoTaskInWebBrowse(string html) { if (this.webBrowser1.InvokeRequired)//如果调用控件的线程和创建创建控件的线程不是同一个则为True { while (!this.webBrowser1.IsHandleCreated) { //解决窗体关闭时出现“访问已释放句柄“的异常 if (this.webBrowser1.Disposing || this.webBrowser1.IsDisposed) { return; } } UpdateUiStringDelegate d = new UpdateUiStringDelegate(showToDoTaskInWebBrowse); this.webBrowser1.Invoke(d, new object[] { html }); } else { _showToDoTaskInWebBrowse(html); } }