MDI [Résolu]

Signaler
Messages postés
61
Date d'inscription
vendredi 1 octobre 2004
Statut
Membre
Dernière intervention
1 octobre 2009
-
Messages postés
61
Date d'inscription
vendredi 1 octobre 2004
Statut
Membre
Dernière intervention
1 octobre 2009
-
Salut, j'ai dans mon prog une MDI parent avec des MDIs Child. J'appelle mes MDIs Child de la sorte :

Dim

NewMDIChild
As New Nom_MDIChild()

'Set the Parent Form of the Child window.
NewMDIChild.MdiParent =
Me
'Display the new form.
NewMDIChild.Show()

J'aimerais pouvoir a partir d'une MDI child appeler une autre MDI Child. Toutes les MDIs ont le meme MDI parent.
Le probleme est que lorsque ma nouvelle MDI Child apparait, elle n'est pas rattachee au MDI Parent (je ne sais pas si je suis clair)
Je pense que le pb vient de la ligne
NewMDIChild.MdiParent = XXXXX.

Mais je ne pas par quoi remplacer XXXXXX. J'ai essaye de mettre Nom_MDI Parent mais sans succes.

Si des fois qqn a une idee ?

D'avance merci

8 réponses

Messages postés
61
Date d'inscription
vendredi 1 octobre 2004
Statut
Membre
Dernière intervention
1 octobre 2009

Salut,

voilà la réponse à mon problème, ca peut servir...

Je souhaite à partir d'une MDI child appeler une autre MDI child.

Dim NewMDIChild As New FicheClient()
'Set the Parent Form of the Child window.
NewMDIChild.MdiParent = <NomApplication>.<NomMDIParent>.ActiveForm
'Display the new form.
NewMDIChild.Show()
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
10
Salut
dans l'évenement laod de la form enfant que tu appelles tu met :
Me

.MdiParent = WindowsApplication1.MDIparent (MDIparent est le nom de la form parent)

 Drikce 06
Messages postés
61
Date d'inscription
vendredi 1 octobre 2004
Statut
Membre
Dernière intervention
1 octobre 2009

Salut, voila mon code :

Form Parent
Namespace GesCli

Public Class MainForm
[...]

Form Child que j'appelle
Namespace
GesCli

Public Class FicheClient


Private Sub FicheClientLoad(sender
As System.
Object, e
As System.EventArgs)

       Me.MdiParent = GesCli.MainForm
End Sub

Et voila l'erreur lorsque je compile :



'MainForm' is a type in 'Gescli' and cannot be used as an expression
Me
.MdiParent = GesCli.MainForm
                             ~~~~~~~~~~~~~~
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
10
RE,
Va voir dans les propriétés de ton projet onglet application le nom que tu as dans le champs root namespace et tu remplace GesCli par ce nom si c'est pas le même. Normalement sa fonctionne en tout cas chez moi oui.

 Drikce 06
Messages postés
61
Date d'inscription
vendredi 1 octobre 2004
Statut
Membre
Dernière intervention
1 octobre 2009

Voila ce que j'ai :

Et toujours la meme erreur  :-((


 


 
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
10
dsl je vois qu'une crois!

 Drikce 06
Messages postés
51
Date d'inscription
samedi 23 avril 2005
Statut
Membre
Dernière intervention
29 avril 2013

Moi pour mon logiciel j`en call une
Voici mon code
Public

Class BackupReloader_Files

Private m_ChildFormNumber
As
Integer = 0
[...]

Private
Sub FavorisToolStripMenuItem_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles FavorisToolStripMenuItem.Click

' Create a new instance of the child form.

Dim ChildForm
As
New System.Windows.Forms.Form

' Make it a child of this MDI form before showing it.ChildForm.MdiParent =

Mem_ChildFormNumber += 1

ChildForm.Height = 400

ChildForm.Width = 628

ChildForm.Text =

"Sauvegarde Favoris " & m_ChildFormNumberChildForm.Show()

------
La moi ce que j`essaie de faire, c enlever le "height" et le "Width", et de le mettre en full screen dans la place ou il a droit, mais si tu utilise VB 2005, quand tu chosi pour crée tu fait
Project // Add Windows Form // MDI Parent Form
avec sa il te generer tous le code pour ton MDI, tu enlever le super flu qui te sert pas

Mat1554
Messages postés
19
Date d'inscription
mercredi 28 juillet 2004
Statut
Membre
Dernière intervention
15 décembre 2007

Tu enlèves ces deux lignes:
ChildForm.Height = 400

ChildForm.Width = 628

Et tu vas sur la fenêtre MDI Parents et tu mets la propriété WIndowState à Maximize (Taille maximum de ton écran = résolution).