Dim f As New Form2() f.TopLevel = False f.Name = "SubForm2" Me.Panel1.Controls.Add(f) f.Show()
Dim frm2 As Form2 = CType(Me.Panel1.Controls("SubForm2"), Form2)
Tu as dit
"Un From est un conteneur et ne peut être contenu."Ce n'est pas vraiment tout-à-fait exact.
Je m'explique :
- Il est vraisemblable que VB.Net (comme VB6, d'ailleurs) n'ait pas prévu cette possibilité de façon native.
- il n'en demeure pas moins vrai que, dès lors que les deux fenêtres sont de frais fenêtre Windows -donc dotées d'un hwnd), on peut toujours rendre celle que l'on veut parente de l'autre, que l'autre soit ou non un Form.
voici, par exemple et analogie, ce que je mettrais dans un bouton de Form1 pour que son Frame Frame1 devienne le parent du form Form2. Fonctionne sans faille.
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Private Sub Command1_Click()
SetParent Form2.hWnd, Frame1.hWnd
Form2.Show
End Sub
Merci, je m'en suis rendu compte en voyant le message de foliv57 juste après...
Mais c'est que je n'ai pas l'habitude de procéder ainsi, j'aurais l'impression de vouloir charger mon tracteur dans ma renault 5...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionJe ne voulais pas trop rentrer dans le débat de l'intéret de contenir une Form dans un Panel