NetworkComms网络程序开发笔记(二): 跨线程更新UI

跨线程更新UI的方法也很多

使用系统自带的 MethodInvoker 委托也不失为一个好方法

举例1

void NetworkComms_ConnectionClosed(Connection conn)
        { 
            if (this.InvokeRequired)
            {
                MethodInvoker del = delegate
                {
                    NetworkComms_ConnectionClosed(conn);
                };
                this.Invoke(del);
                return;
            }

            textBox1.Text = "";
  textBox1.Text = "【连接断开:本地端点" + conn.ConnectionInfo.LocalEndPoint.ToString() + "远端点" + conn.ConnectionInfo.RemoteEndPoint.ToString() + "】";
}

例2:

private void UpdateLabel3(string text)
        {
            if (this.InvokeRequired)
            {
                MethodInvoker del = delegate
                {
                    UpdateLabel3(text);
                };
                this.Invoke(del);
                return;
            }

            label3.Text = text;

        }

 

你可能感兴趣的:(NetworkComms网络程序开发笔记(二): 跨线程更新UI)