2010-08-26 4 views
1

Dans ce scénario, j'ai un composant de base avec un bouton de fermeture et un panneau de flux; (FlowLayoutPanel) l'idée étant que les composants qui étendent ceci ajoutent leurs contrôles au panneau de flux et verront la fonctionnalité de bouton de fermeture effectuée pour eux. Le problème est que je n'arrive pas à persuader VS d'ajouter les composants dans le composant sous-classé au panneau d'écoulement; cela finit avec moi avoir à le faire dans le code. Ce qui est bien, sauf qu'il n'apparaîtra pas dans la vue du concepteur. Si je l'ajoute à la classe partielle avec le code généré par le concepteur, je peux voir les contrôles dans la vue du concepteur présentés par le panneau de flux. Mais cela vient juste d'être écrasé après. Visual Studio ne semble pas vous laisser ancrer les contrôles dans les panneaux hérités - à moins que je ne fasse quelque chose de mal? Je me suis assuré que le panneau de base est visible publiquement au cas où ce serait le problème.Visual Studio 2008: Ajout de composants au panneau hérité

-

Une alternative pourrait être un moyen de persuader le concepteur d'exécuter/pas écraser mon code dans la classe de concepteur.

+0

Je ne comprends pas ce que « composant de base » pourrait signifier Essayez ceci:.. Http://stackoverflow.com/questions/2785376/how-to-bubble-a-controls-features-when-place-in-a-custom-usercontrol –

+0

base comme dans le type super – cyborg

Répondre

1

Vous devez créer un ControlDesigner pour votre contrôle et remplacer les méthodes InternalControlDesigner et GetParentForComponent.

Pour un exemple, ouvert System.Windows.Forms.Design.SplitContainerDesigner (en System.Design.dll dans le réflecteur

+0

Hmm, ne semble pas aller nulle part. //msdn.microsoft.com/fr-fr/library/system.windows.forms.design.controldesigner%28v=VS.90%29.aspx Cela ne semble fonctionner que s'il est effectué dans une autre forme ou un autre composant; semble être activé lors de la conception du composant lui-même – cyborg

+0

Cela peut ne pas être possible – SLaks

+0

N'obtenez pas de meilleures réponses, je vais accepter le vôtre. – cyborg