class Client { public event EventHandler ClientConneted; protected virtual void OnClientConnected(ConnectedEventArgs e) { if (ClientConneted != null) ClientConneted(this, e); } public Client() { } public void Connect() { //Procédure de connexion .... // Si connecté : //Déclenchement de l'évenement OnClientConnected(new ConnectedEventArgs("Connexion OK !",14)); } } //Classe de l'argument de l'evement public class ConnectedEventArgs : EventArgs { internal string m_msg; //Un parametre quelconque passé internal int m_val; public ConnectedEventArgs(string msg, int val) { m_msg = msg; m_val = val; } }