Incorporation d'une winform dans une winform (c #)
Est-il possible d'intégrer un formulaire windows dans un autre formulaire windows?
J'ai créé un formulaire windows dans Visual Studio avec tous ses comportements associés.
Je veux maintenant créer un autre formulaire windows contenant un onglet vue, et je veux intégrer la première formulaire windows dans l'onglet affichage. Est-ce possible?
source d'informationauteur phrenetic
Vous devez vous connecter pour publier un commentaire.
Pas directement. Vous pouvez créer un usercontrol, déplacer tout le code de votre formulaire pour le contrôle usercontrol et l'utiliser dans les deux formes. Vous pourriez avoir besoin de modifier le code de votre formulaire, mais probablement pas beaucoup.
Avertissement
Cela fonctionne aussi je l'utilise dans mon application largement. Cela étant dit, je voudrais poursuivre le Contrôle de l'Utilisateur en tant qu'itinéraire en fonction de la façon dont loin vous transporter dans l'intégration, les choses commencent à s'écailler. Pour info
Oui, c'est possible. C'est de cette façon:
J'ai cela dans une Bibliothèque de Classe et puis je l'appelle comme tant de la FORME que je veux intégrer.
Où tpgCaseNotes est le contrôle je veux FORMULAIRE FrmCaseNotes incorporé. Dans ce cas, une page d'onglet sur la forme je suis d'appel.
La façon de le faire est avec un contrôle de l'utilisateur plutôt que d'une forme. C'est ce que les contrôles de l'utilisateur pour. Cette technique peut être utilisée pour beaucoup de l'interface utilisateur des trucs comme assistants (les contrôles peuvent être partagés entre l'assistant et d'autres parties de l'application), explorer le style des navigateurs avec un arbre de contrôle et les contrôles échangé basé sur le nœud sélectionné.
J'ai fait beaucoup de travail avec les architectures d'applications qui utilisent des contrôles utilisateur pour tout et cadres pour les explorateurs, les assistants et les autres types de formulaires (même en remontant à VB6). Comme approche, ça fonctionne très bien.
disons que vous avez 2 projets win1 et win2. les deux sont winform projets.
vous recherchez embeding win2 dans win1.
solution:
ouvrir le win2 projet et de modifier le type de sortie "Bibliothèque de classes" (dans l'onglet Application)
ouvrez le projet win1, et ajouter le win2 projet dll comme une ref dans win1 projet
aller dans le win1 code, et de mettre ce :
Vous pouvez essayer de le SetParent() appel d'API, bien que je n'ai pas vérifié qu'il serait le travail moi-même. Si cela ne fonctionne pas, Mendlet la solution ci-dessus est probablement votre meilleure option.