Comment accéder hérité des contrôles dans les winforms designer

Je suis en train de faire certains contrôles qui ont tous de partager la même apparence et leur comportement, même s'ils sont conçus pour différents types d'entrées. J'ai donc fait un BaseClass qui héritent de UserControl, et tous mes contrôles hériter de BaseClass.

Cependant, si j'ai ajouter des contrôles pour BaseClass dans le concepteur, tels que un TableLayoutPanel, je ne peux pas y accéder quand je suis à la conception de l'héritage de classes. Je vois le TableLayoutPanel, mais même s'il est "protégé", je ne peux pas le modifier ou mettre des contrôles par le concepteur. J'ai pas de difficultés d'accès aux par le code, mais je ne veux pas perdre la possibilité d'utiliser le concepteur.

Maintenant, j'ai tout simplement supprimé tous les contrôles de BaseClass, a ajouté la mise en page et tous les contrôles communs dans chaque de la classe héritée, puis utiliser des références pour les manipuler à l'intérieur de BaseClass. Mais cela ne me satisfont pas du tout. Est-il un moyen de rendre le concepteur de travail qui ont hérité d'un membre protégé contrôles ?

Environnement : C#, .NET 3.5, Visual Studio 2008

MODIFIER pour répondre à SLaks de la suggestion. J'ai essayé la définition d'une propriété, et bien que je n'ai pas l'habitude de les utiliser, il ne semble pas fonctionner. Voici le code que j'ai essayé :

    public partial class UserControl1 : UserControl
    {
            public UserControl1()
            {
                    InitializeComponent();
            }

            public TableLayoutPanel TableLayoutPanel1
            {
                    get { return tableLayoutPanel1;}
                    set { tableLayoutPanel1 = value;}
            }
    }

    public partial class UserControl2 : UserControl1
    {
            public UserControl2()
            {
                    InitializeComponent();
            }
    }
Seriez-vous capable d'hériter de TableLayoutPanel lui-même?
Bien sûr, vous pouvez toujours créer votre propre contrôle hérité de winforms de contrôle. J'ai fait cela pour mettre en œuvre des contrôles. Mais ce n'est pas ce que je suis en train de réaliser ici. Je suis d'essayer d'avoir un contrôle avec plusieurs contrôles de base à l'intérieur : un tablelayoutpanel, avec certains contrôles (comme une étiquette), et de plusieurs espaces vides, les classes héritées doit remplir avec les contrôles de leur choix. L'objectif final consiste à ajouter tous ces contrôles de la boîte à outils, puis drap et de les déposer dans le concepteur de créer des formes qui ont beaucoup de contrôle, mais d'un comportement commun/mise en page à travers les thèses de contrôles.
Et btw, héritant d'un contrôle Winform coupera le concepteur, car, généralement, le point est seulement de mettre en œuvre un comportement spécifique, pas de refonte du contrôle de vous-même.

OriginalL'auteur Ksempac | 2009-06-25