J'ai une forme de parent appelé MDIForm1 en son sein que j'ouvre frm1 qui est une forme d'enfant. Donc, tout est grand à ce moment - maintenant je dois ouvrir un autre formulaire dans frm1 - Appelons que frmX et est là où ma question se pose - je l'avais déjà déclaré comme forme MDIChild, et a fait mdichild.show - mais la question est parce que lorsque ce formulaire s'ouvre (il couvre environ 1/3 de frm1 - qui est déjà ouvert) et l'utilisateur clique en dehors de la frmX - il disparaît simplement. J'ai donc essayé de .showDialog() mais je suis incapable de le faire car ce n'est pas un niveau supérieur et c'est un mdiChild qui ne me laisse donc pas .showdialog(). voici mon code ...Formes enfant et parent forme non-concordance dans Vb.net
Private Sub cmd1_Click(sender As Object, e As EventArgs) Handles cmd1.Click
Dim NewMDIChild As New Frmx()
'Set the Parent Form of the Child window.
NewMDIChild.MdiParent = MDI1
'Display the new form
NewMDIChild.ShowDialog()
NewMDIChild.Top = 310
NewMDIChild.Left = 36
NewMDIChild.Width = 897
End Sub
Je reçois cette erreur sur .showDialog() et voici ce qu'il dit ....
formulaire qui est pas une forme de haut niveau ne peut pas être affiché sous la forme une boîte de dialogue modale . Supprimez le formulaire de n'importe quel formulaire parent avant d'appeler showDialog.
J'ai essayé de déclarer le frmX comme celui-ci ....
dim frmX as New Form
frmX.showDialog
'specifying Top/Left/Width but that doesn't do anything, basically opens an empty form elsewhere on the screen.
EDIT: Il est un peu déroutant:/
Voici ce que je faisais - obtenir la même erreur. C'est dans frm1 que l'on clique sur le bouton qui est supposé OUVRIR frmX en modal pour que les utilisateurs qui cliquent sur frm1 ne fassent pas disparaître frmX. Il ouvre au bon endroit mais quand je clique sur elsewher frm1 --- frmX disparaît
Dim frmxName As New FrmX()
frmxName.MdiParent = Me.MdiParent
frmxName.ShowDialog()
frmxName.Top = 310
frmxName.Left = 36
frmxName.Width = 897
Mon but est d'avoir frmX ouvert jusqu'à ce qu'ils près là-dessus!
que dois-je faire avec le reste du code en termes de spécification haut/gauche et ce – BobSki
aussi, ce Button_Click est sur mon frm1 - alors dois-je inclure ce code dans l'événement de chargement frmX? – BobSki
C'est un peu déroutant, puisque vous avez utilisé des noms différents pour les classes dans votre exemple. Le principe est que si vous avez un enfant MDI frmX, il peut créer un nouveau formulaire frmY et définir le parent MDI de ce formulaire sur le parent de frmX.Les questions dans vos commentaires semblent être hors sujet – djv