|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
[C#]Problemi vari MDI
Ciao a tutti
In un'applicazione ho un form padre che carica di volta in volta i suoi figli. Ora, ho questo tipo di problema: Uno di questi child form (formLista), contiene una lista, mediante la quale attraverso un'azione, devo caricare i dati contenuti in questa lista su di un altro form figlio(formDettaglio). Il problema è che se carico 'formDettaglio' dal form principale, a livello di UI tutto è coerente: formDettaglio viene caricato 'dentro' il form principale; se invece formDettaglio viene caricato da formLista, ovviamente mi viene visto come un form a se stante. Supponendo che i form siano: MainForm FormLista FormDettaglio non ho problemi a caricare FormDettaglio da MainForm; Ho problemi a caricarlo da FormLista. E' che non riesco ad immaginare come caricarlo da FormLista se non con: FormDettaglio detail = new FormDettaglio(); detail.Show(); Attendo speranzoso un vostro aiuto. RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
FormLista deve informare FormPadre che deve rinfrescare e mostrare FormDettaglio.
(mediante evento e delegate, cosi' sei Thread Safe)
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Grazie gugoXX.
Oltre a ciò che sto leggendo su msdn, avresti qualche link a portata di mano più esplicativo per il mio caso? RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
Codice:
FormDettaglio detail = new FormDettaglio();
detail.MdiParent = MainForm.ActiveForm ;
detail.Show();
|
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Quote:
Comunque puoi riassumere cosi' Codice:
// Sulla form Lista
public delegate int ChiamaDettaglioHandler(string a, int b, altriparametri);
public event ChiamaDettaglioHandler ChiamaDettaglio;
...
...
//Dove Serve che apri la FormDettaglio
int ret = ChiamaDettaglio("pippo",14, ....);
////
//Sulla form Padre, immediatamente dopo la costruzione dell'istanza di FormLista si chiami FormListaInstance
FormLista FormListaInstance=new FormLista();
FormListaInstance.ChiamaDettaglio+=new FormLista.ChiamaDettaglioHandler(funzione);
////
public int funzione(string a,int b,altri parametri)
{
//Qui apri la formDettaglio, usando gli eventuali a,b e gli altri parametri passato dalla FormLista
// E restituendo l'intero (o qualsiasi altra cosa, anche void) che puo' essere usato
// Dal chiamante, ovvero sempre dalla Form Lista
}
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Perfetto. L'esempio sono riuscito a comprenderlo e, effettuando un piccolo test con due forms funziona perfettamente.
Ora cerco di arrivare da solo a capire come fare a popolare il 'formDettaglio' con i dati provenienti dal formLista . Nel frattempo : gugoXXRaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:36.












gugoXX








