Partage
  • Partager sur Facebook
  • Partager sur Twitter

[VB.NET] Comment ajouter un form dans un panel

22 juin 2017 à 20:43:02

Bonjour à toutes et à tous,

J'aimerais savoir quel est le code permettant d'intégrer une WindowsForm dans une autre WindowsForm, de manière à ce que quand je clique sur un bouton de ma WindowsForm, il m'affiche dans le "panel" l'autre form. L'autre WindowsForm est de la même taille que le panel, il faut juste que je puisse l'intéger, après je sais me débrouiller pour remplacer la form, ...

Merci pour votre aide ;-)

C. Chabeau

-
Edité par CorentinChabeau 23 juin 2017 à 9:20:10

  • Partager sur Facebook
  • Partager sur Twitter
23 juin 2017 à 9:58:38

Salut,

Si par "WindowsForm" tu entends la fenêtre principale avec les boutons réduire, etc..., ça n'a pas l'air d'être possible

(Erreur obtenue en essayant de le faire :

An unhandled exception of type 'System.ArgumentException' occurred in System.Windows.Forms.dll

Additional information: Impossible d'ajouter un contrôle de premier niveau à un contrôle.)

Donc le mieux c'est d'utiliser un UserControl à la place de ta fenêtre.

  • Partager sur Facebook
  • Partager sur Twitter
23 juin 2017 à 10:34:37

Bonjour,

Non pas du tout, j'aimerai remplacer le composant .NET "panel" par un autre contenu de manière à naviguer avec des boutons sur le côté dans une même windowsform avec d'autres panel.

===> J'aimerais que quand je clique sur un des boutons de la barre de gauche, le panel change en fonction du bouton sélectionné...

-
Edité par CorentinChabeau 23 juin 2017 à 10:58:54

  • Partager sur Facebook
  • Partager sur Twitter
23 juin 2017 à 11:04:16

voir EDIT

Ha d'accord.

Mais je ne vois pas très bien ce que tu veux faire, est-ce que tu peux montrer une image stp? (ou un dessin)

Est-ce que tu utilises le designer, ou c'est quelque chose à faire en runtime donc dans le code?

Sans voir vraiment ce que tu veux faire, le TableLayoutPanel est peut être ce que cherches? C'est un contrôleque tu peux diviser en lignes et colonnes, chaque case te permettant d'y mettre un contrôle (une colonne pour tes boutons, une autre pour tes panels par exemple)

EDIT : OK je viens de voir de ton edit, je comprends mieux.

Je pense que tu peux utiliser la propriété Controls du parent de ton panel, quand tu cliques sur un de tes boutons, tu retires le panel qui est présent, et ajoute celui que tu dois afficher.

Tu peux pour ça utiliser les méthodes Clear et Add : https://msdn.microsoft.com/en-us/library/system.windows.forms.control.controlcollection%28v=vs.110%29.aspx

-
Edité par Steve D. 23 juin 2017 à 11:08:39

  • Partager sur Facebook
  • Partager sur Twitter
23 juin 2017 à 11:15:42

J'aimerai que le composant "panel" que j'ai ajouté ou bien sûr si il le faut, le remplacer par autre chose... Qu'il contienne un autre form de possédant aucun bord et de la même taille que le panel ai se mettre dedans et quand je clique sur le bouton "patient", il y ai la form1 par exemple qui soit affiché dans le panel et que si je clique sur "patients 2", il y ai la form2 qui ai se placer dedans. Tous en sachant que le form1 et la form2 font la même taille que le panel. J'ai entendu parler du système "System.Windows.Form". Mais je ne suis pas sûr.

  • Partager sur Facebook
  • Partager sur Twitter
23 juin 2017 à 11:33:39

Pourquoi des formulaires et pas de simple Panel ?

Quand vous cliquez sur l'un des boutons vous cachez le panel courant avec la propriété "Visible" à False et vous rendez visible le Panel qui vous intéresse avec la propriété "Visible" à True.

Basta.

  • Partager sur Facebook
  • Partager sur Twitter
Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
23 juin 2017 à 11:38:24

Ou alors tu veux des "sous-fenêtre" "à l'intérieur" de ta fenêtre principale, pour pouvoir réduire, en afficher côte à côte, etc....

Comme ça ?

  • Partager sur Facebook
  • Partager sur Twitter
23 juin 2017 à 12:40:39

Vos deux cas m'intéressent mais dans le cas de barcelar, j'avais déjà essayer avant de mettre plusieurs panels superposé pour faire comme vous dites mais quand je place un panel, il me supprimer celui du bas...
  • Partager sur Facebook
  • Partager sur Twitter
23 juin 2017 à 14:46:56

>il me supprimer celui du bas...

???

C'est pas super pratique avec le Designer mais c'est faisable en les décalant un peu, puis, une fois les modifications faites, changer les positions x,y pour les mettre à 0,0.

  • Partager sur Facebook
  • Partager sur Twitter
Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.