mmh nunca he intentado eso,
para empezar el evento Click del boton es protected (creo estos son los que no pueden ser accesados desde otras clases aunque esten en el mismo namespace) por lo que tu evento click tendría que ser public.
Ahora, no se si se puede cambiar el nivel de acceso del evento Click..
(no se que intentas hacer) pero, porque no creas un evento public static en tu clase externa, y en el evento protected Click mandas llamar ese metodo
clase externa:
Código:
class miClase
{
....
public static void miMetodo()
{
//hace algo
}
}
Form1.cs
Código:
protected void miBoton_Click(...)
{
miClase.miMetodo();
}
**no necesariamente tendria que ser un metodo static, tambíén podria ser un metodo no estatico y en vez de invocarlo en la forma miClase.miMetodo(), tendrías que instanciar un objeto de la clase y después llamar al método
Código:
miClase objeto = new miClase();
objeto.miMetodo();