zoukankan      html  css  js  c++  java
  • c# 委托初窥

    1.委托可以把方法当作参数在另一个方法中传递和调用 ,委托是方法的快捷方式。

    2.委托是一个类。

    private void BeginSocketThread()
            {
                try
                {
                    IPEndPoint iep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 7060);
                    socketServer = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                    byte[] byteMessage = new byte[1024];
                    socketServer.Bind(iep);
    
                    // do 
                    while (true)
                    {
                        socketServer.Listen(5);
    
                        Socket newSocket = socketServer.Accept();
    
                        newSocket.Receive(byteMessage);
                        if (DBConnection.mode_ip == DBConnection.MODE_LOCAL)
                        {
                            MessageBox.Show(LocRM_controlForm.GetString("请选择数据中心工作模式"));
                            continue;
                        }
    
                        string socketSeriesID = Encoding.Default.GetString(byteMessage).Split('E')[0];
    
                        FormImageList formImageListA = new FormImageList();
                        formImageListA.SeriesIndex = 0;
    
                        formImageListA.Owner = this;
    
                        //   formImageListA.OpenSeries(socketSeriesID);
                        aaaaaaaaa(socketSeriesID);
                        //if (InvokeRequired)
                        //{
                        //    SetTextCallback md = new SetTextCallback(formImageListA.OpenSeries);
                        //    //this.Invoke(md, new object[] { socketSeriesID });
                        //    //SetTextCallback md = new SetTextCallback(formImageListA.OpenSeries);
                        //    //this.Invoke(md, new object[] { socketSeriesID });
                        //}
                        //else
                        //{
                        //    formImageListA.OpenSeries(socketSeriesID);
                        //}
    
                        formImageListA.Dispose();
                    }
                }
    
                catch (Exception ex)
                {
                    MessageBox.Show("normal exp :"+ex.Message + "
    " +ex.StackTrace);
                }
            }
    
            private void aaaaaaaaa(string recvStr)
            {
                if (InvokeRequired)
                {
                    SetTextCallback set = new SetTextCallback(aaaaaaaaa);
                    Invoke(set, recvStr); 
                }
                else
                {
                    FormImageList formImageListA = new FormImageList();
                    formImageListA.SeriesIndex = 0;
    
                    formImageListA.Owner = this;
    
                    formImageListA.OpenSeries(recvStr);
                    formImageListA.Dispose();
                }
            }
  • 相关阅读:
    Create C++ Windows Forms Application in Visual Studio 2017
    VS项目打包发布
    获取光标所在行索引
    拖拽生成控件副本
    MDI中的ToolStrip合并
    使用FFmpeg音视频格式转换
    获取项目中其他文件
    解决Winform大多数DPI问题
    《Pro Git》第3章 分支
    《Pro Git》第2章 Git基础
  • 原文地址:https://www.cnblogs.com/gaara-zhang/p/9325502.html
Copyright © 2011-2022 走看看