2009-07-07 9 views
1

Je dois ancrer un contrôle utilisateur WinForms lors de l'exécution, mais je rencontre un problème.Activer par programmation un contrôle utilisateur à l'exécution

Dans ma forme principale, j'ai une bande de menu en haut de celui-ci. Je veux ajouter par programme un UserControl ancré à gauche de la fenêtre principale et en dessous de la bande de menu.

Lorsque j'ajoute mon contrôle utilisateur au moment de l'exécution, puis que sa propriété Dock est définie sur DockStyle.Left, elle n'apparaît pas sous le menustrip, mais occupe tout le côté gauche du formulaire. Cela fait que le menuisier est poussé vers la droite et n'a pas l'air attirant.

Je dois faire cela à l'exécution car le projet nécessite la possibilité de personnaliser le contrôle utilisateur qui peut apparaître sur le côté gauche du formulaire principal pour chaque utilisateur.

Toute aide pour trouver une réponse serait grandement appréciée.

Répondre

1

Un moyen rapide et sale de le faire serait d'ajouter un panneau sous le MenuStrip (ancré à gauche ou plein), puis ajouter le UserControl au panneau.

Modifier: ce qui se passe est que l'ordre dans lequel les contrôles sont ajoutés à un conteneur détermine comment ils apparaîtront sur le formulaire. Comme vous le faites par programmation à un certain moment après que le formulaire a été créé, le contrôle UserControl est le dernier contrôle ajouté au formulaire, donc il va affecter ces éléments déjà sur le formulaire. Si vous avez un panneau sur le formulaire qui fait apparaître les choses comme vous le souhaitez également, l'ajout de UserControl au panneau affectera uniquement ces éléments dans le panneau et pas sur le reste du formulaire.

+0

Bonne explication! Merci! –

0

Ajoutez un panneau qui se place sous la barre d'outils et ajoutez le contrôle utilisateur à ce conteneur.

Modifier: Déjà répondu.

Questions connexes