Si vraiment ça a un sens fonctionnel ce que tu veux, il faut revoir ton héritage, avec une classe LabelOuJeVoisGridX et une autre classe LabelOuJeVoisPasGridX, puis dériver de la bonne, et mettre GridX Protected pour que seule les classes qui dérivent de la classe AgendaGrid "voient" (on dit visible, pas lisible) GridX. Mais à mon avis, ça a pas de sens ce que tu veux faire. Faudrait que LabelOuJeVoisGridX dérive de AgendaGrid, ça me parait pas la bonne solution.
Bon courage !