Herencia genérica de Windows Forms

Tengo estas clases:

class Foo<T1, T2> : Form 
    where T1, T2 : EventArgs

class MiddleGoo : Foo<X,Y>

class Goo : MiddleGoo

X, Y son clases simples derivadas de EventArgs.

Veo a Goo en el diseñador, pero quiero crear una clase Boo entre Foo y Goo de esta manera:

class Boo<T1, Y> : Foo<T1, Y>
where T1 : EventArgs

class MiddleGoo : Boo<X,Y>

class Goo : MiddleGoo

La solución alternativa con la clase media no funciona, ¿alguna idea?

EDITAR: quise decir que Y y X son clases como YEventArgs y XEventArgs y mi problema es ver en la clase de diseñador Boo cuando definí Y como T2 pero todavía quiero mantenerlo genérico a través de T1.

EDIT2: Me acabo de dar cuenta de que escribí mal algo sobre la clase Y ...

public class Foo<T1, T2> : Form
    where T1 : EventArgs
    where T2 : EventArgs
{
}

public class Boo<T1> : Foo<T1, MyEventArgs2>
    where T1 : EventArgs
{
}

public class MiddleGoo : Boo<MyEventArgs1>
{
}

class Goo : MiddleGoo
{
}

public class MyEventArgs2 : EventArgs
{
}

public class MyEventArgs1 : EventArgs
{      
}

Y para ser claros, simplemente no puedo ver a Boo en Designer ... (No puedo ver a MiddleGoo también, pero no necesito)

Respuestas a la pregunta(2)

Su respuesta a la pregunta