Creando un evento personalizado

¿Se puede crear un evento personalizado para cualquier método de objeto?
Para hacer esto, ¿solo uso la siguiente sintaxis?:

myObject.myMethod +=new EventHandler(myNameEvent);

El siguiente código ha provocado esta pregunta:

   private void btRunProcessAndRefresh_Click(object sender,EventArgs e)
    {
        myProcess =new Process();
        myProcess.StartInfo.FileName = @"c:\ConsoleApplication4.exe";
        myProcess.Exited += new EventHandler(MyProcessExited);
        myProcess.EnableRaisingEvents =true;
        myProcess.SynchronizingObject =this;
        btRunProcessAndRefresh.Enabled =false;
        myProcess.Start();
    }

Respuestas a la pregunta(12)

Su respuesta a la pregunta