//public void OnBallInPlay(EventHandler<BallEventArgs> e) /* EventHandler está dizendo para outros métodos que seus manipuladores de evento precisam ter dois parâmetros: Um 'objet sender' e uma referência a 'EventArgs e' */ // MÉTODO QUE DISPARA O EVENTO public void OnBallInPlay(BallEventArgs e) { //if (BallInPlay != null) //{ // BallInPlay(this, e); //} // ↑↑↑ MESMO TRATAMENTO ↓↓↓ BallInPlay?.Invoke(this, e); }
private void button1_Click(object sender, EventArgs e) { // OBJERTO DE ARGUMENTOS DO EVENTO INSTANCIADO E PASSADO // COMO PARAMENTRO PARA O MÉTODO QUE DISPARA O EVENTO DA // CLASSE BALL BallEventArgs ballEventArgs = new BallEventArgs( (int)numericUpDown2.Value, (int)numericUpDown1.Value); bola.OnBallInPlay(ballEventArgs); }
private void bola1_BallInPlay(object sender, BallEventArgs e) { Console.WriteLine("*** Mais uma Manipulador de evento ***"); }