MDI info

sabato 20 marzo 2004 - 09.25

123456 Profilo | Newbie

Ciao,

Qualcuno mi sa dire come mai se visualizzo un form con il metodo show() questa mi va fuori dalla MDI?

Grazie
Ciao

freeteo Profilo | Guru

ti manca di dire alla form chi e' il suo "parent", es:

Form2 zfrm = new Form2();
zfrm.MdiParent = this;
zfrm.Show();

allora viene visualizzato dentro etc...

ciao ;-)

freeteo Profilo | Guru

per curiosita quando imposti il mdiparent finisce dentro alla collezione
Controls del controllo MdiClient della form (collezione Controls) come vedi dall'allegato...

ciazuzzz ;-)

123456 Profilo | Newbie

Ciao,
Si infatti ciò che mi scrivi funziona regolarmente dal menu MDI
ma se faccio la procedura di chiamata da un client"figlio" già aperto,

MSDN dice che bisogna impostare la propietà mdiparent al figlio quindi dico che il contenitore della form2 sarà la MDI "padre"

instanza della MDI
frmpadre padre = new frmpadre();

form2 child = new form2();
child.mdiparent=padre;
child.show()

??non accade nulla...non viene nemmeno aperta la form2 in questo modo

cosa c'è che non va?

123456 Profilo | Newbie

ah... tra l'altro non da nessun tipo di errore....resta li senza fare nulla...

freeteo Profilo | Guru

il problema è che tu non fai mai il padre.Show();cosi non si vede
nulla...
cmq se tu imposti il mdiparent =#FORM MDI CHE è ATTIVA IN QUESTO MOMENTO#
dovrebbe funzionare...
casomai allega 1 esempio che non funziona che provo a sistemarlo.

ciao

123456 Profilo | Newbie

Ok allego piccolo progetto di esempio.

Ciao
Grazie

freeteo Profilo | Guru

tu crei una nuova istanza della form1 che è la MdiContainer e quindi non va:
Form1 padre = new Form1(); /<----e sbagliato

Invece devi mettere l'istanza che è attiva e la puoi recuperare dalla proprieta MdiParent della form che è child (Form2) cioe' nella button1_Click della form2 metti:

Form3 child = new Form3();
child.MdiParent = this.MdiParent;
child.Show();

prova e dovrebbe andare.;-)
ciao

123456 Profilo | Newbie

Perfetto Teo Funziona!

Grazie Mille alla prossima.
Ciao
Maurizio
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5