zoukankan      html  css  js  c++  java
  • C#事件编程

    1.定义一个 "代表"
    如:
       
    public delegate void DisconnectedEventHandler(object sender,ClientEventArgs e);

    2.定义事件参数
    如:
        public class ClientEventArgs : EventArgs
        
    {
            
    public IPAddress IP
            
    {
                
    get return ( (IPEndPoint)this.socket.RemoteEndPoint ).Address; }
            }

            
    public int Port
            
    {
                
    get{return ((IPEndPoint)this.socket.RemoteEndPoint).Port;}
            }

            
    public ClientEventArgs(Socket clientManagerSocket)
            
    {
                
    this.socket = clientManagerSocket;
            }

        }

    3.使用"代表"定义一个事件
           
    public event DisconnectedEventHandler Disconnected;

    4.触发事件
            protected virtual void OnDisconnected(ClientEventArgs e)
            
    {
                
    if ( Disconnected != null )
                    Disconnected(
    this , e);
            }


             
    this.OnDisconnected(new ClientEventArgs(this.socket));


    5.使用事件
     

               ClientManager newClientManager = new ClientManager(socket);
                newClientManager.Disconnected 
    += new DisconnectedEventHandler(ClientDisconnected);

     6.定义事件处理方法

            void ClientDisconnected(object sender , ClientEventArgs e)
            
    {
                
    if ( this.RemoveClientManager(e.IP) )
                    
    this.UpdateConsole("Disconnected." , e.IP , e.Port);
            }




     

  • 相关阅读:
    2
    作业5
    实验十
    作业 5 指针应用
    九九乘法表
    实验七(课堂练习)
    实验六 数组 (2)
    实验六 数组
    课堂实验5(求从m到n之间(包括m和n)所有素数的和)
    课堂实验5-2
  • 原文地址:https://www.cnblogs.com/shiningrise/p/744345.html
Copyright © 2011-2022 走看看