2010-11-20 2 views
0

J'ai un contrôle avec un Splitcontainer ajouté. Je veux placer d'autres formes sur le deuxième panneau (Panel2). Toutefois, il n'est pas possible de définir la propriété MDIParent d'un nouveau formulaire à Panel2.Panneau de SplitContainer en tant que parent MDI pour les autres formulaires

Ainsi, la question est - comment puis-je définir le panneau SplitContainer's en tant que MDIParent pour d'autres contrôles?

Merci d'avance pour les indices!

acclame

Répondre

1

Un MDIParent peut seulement être un autre formulaire. Ce que vous devez faire est TopLevel à False sur le formulaire enfant. Vous pouvez ensuite l'ajouter à n'importe quel contrôle, tout comme n'importe quel autre contrôle (en l'ajoutant à la collection Controls du contrôle parent). Cependant, cela ne fonctionnera pas comme dans un conteneur MDI (car vous ne pourrez pas le réduire ou le maximiser).

0

Si vous avez l'intention d'utiliser le splitcontainer pour charger différents sous-formulaires, cela peut aider. Au lieu d'utiliser WinForms, vous pouvez utiliser des classes dérivées de panneaux contenant tous les widgets qu'un WinForm normal aurait. Pour les afficher, ajoutez-les simplement à la collection de contrôles Panel2 de votre conteneur scindé.

Quelques événements et méthodes pour garder à l'esprit sont:

  • subformPanel.ParentChanged (faire une initialisation et abonnez-vous à des événements parents)
  • subformPanel.ParentChanged (faire un peu de nettoyage et désinscription aux événements parents)
  • Parent.Controls.Remove (détruire le subformPanel)
+0

Pouvez-vous montrer un exemple de classes dérivées de panneaux –

Questions connexes