PDA

Visualizza la versione completa : [visual c++] passaggio di dati tra un form figlio ad un form padre


marco94
09-06-2010, 22:50
Salve a tutti. Io ho un problema con un'applicazione che sto sviluppando in visual c++. Sono quasi 5 giorni ormai che cerco di risolverlo ma non so prorpio più dove sbattere la testa. Ora vi spiego.

Io ho un primo form con una textbox e un pulsante; se clicco sul pulsante mi si apre un secondo form(figlio del primo) che anch'esso contiene un pulsante ed una textbox.

Ora io devo fare in modo che se scrivo un testo nella textbox del secondo form e poi clicco il pulsante (sempre contenuto nel secondo form), il contenuto della textbox del primo form deve essere uguale al contenuto della textbox del secondo. Praticamente si tratta di un PASSAGGIO DI DATI DA UN FORM FIGLIO AD UN FORM PADRE.

Mi è stato suggerito di creare un modulo (classe statica) contenente le informazioni che mi servono per trasferire questi dati, ma io ho due domande:

1- come si crea un modulo (classe statica)?
2- come faccio a "trasferire" queste informazioni e quindi questi dati?

Io avevo pensato, visto che per far in modo di visualizzare il form figlio devo includere l'header di esso nel form padre in modo che il form padre sappia che esista il form figlio, perchè non provare ad includere l'header del form padre all'interno del form figlio in modo che anche il form figlio sappia del padre?

Praticamente questo:

Form padre:


#include "form_figlio.h"

#pragma once

//...tutto il resto

private:
button1_click.....{

form_figlio ^form2 = gcnew form_figlio();
form2->Show();
}


E questo funziona perchè mi apre il form figlio.

Ora quello che intendevo fare io ma che mi da errore

Form figlio



#include "form_padre.h"

#pragma once

//...tutto il resto

private:
button1_click....{

System::String ^testo;

testo = this->textbox->Text;

form_padre ^form1 = gcnew form_padre();
form1->textbox->Text = testo;

}


putroppo nel codice del form figlio mi da :

"fatal error c1014: too many include files: depth = 1024"

Spero mi possiate aiutarmi e scusatemi se sono stato un po lunghetto.

Loading