Visual c++ 2008 - apertura form2 da form1

martedì 28 luglio 2009 - 18.45

varton Profilo | Newbie

Ciao a tutti,
ho un problema con visual c++ 2008, premetto che pur avendo esperienza con il c++ con il vc sono alla mia prima esperienza, cmq il problema è il seguente:
Ho creato un applicazione windows form dove ho inserito vari controlli tra cui un 'buttom'
poi tramite il menù progetto ho a fatto aggiungi classe -> windows form che ho chiamato prova.
Il problema nasce quando tramite un comando buttom nel form1 provo a chiamare il form2, ogni modo che ho provato è stato invano
Cosa devo scrivere se non chiedo troppo all'interno di:

private: System::Void inserimento_Click(System::Object^ sender, System::EventArgs^ e)
{

}

Mi è sorto anche un dubbio: se nel creare la 'classe windows form' devo creare anche un nuovo elemento(sempre dal menù progetto) windows form.
Grazie

aiedail92 Profilo | Expert

Ciao Antonio

Quello che devi fare prima di mostrare la form2, è creare un'istanza di tale form. Per farlo, il visual c++ ha una sintassi simile a quella del c++: l'operatore new del c++ viene sostituito per gli oggetti gestiti dall'operatore gcnew, mentre il puntatore ad oggetto gestito (che nel c++ si creava con il *) viene creato con il ^

Ricapitolando:

private: System::Void inserimento_Click(System::Object^ sender, System::EventArgs^ e) { // Crea un'istanza di Form2 Form2 ^form2 = gcnew Form2(); // Mostra la form appena cretata. Usa form2->ShowDialog() per mostrarla come finestra modale form2->Show(); }

Fammi sapere se ci sono problemi

Luca

varton Profilo | Newbie

Scusami di nuovo, ma il mio form2 è gia creato quindi per aprirlo dovrei usare solo la chiamata ' form2->Show(); ' ma la compilazione mi da errore error C2065: 'Form2': identificatore non dichiarato
perchè?
devo inserire una libreria?


aiedail92 Profilo | Expert

Hai incluso il file "Form2.h"?

Luca

Rokko Profilo | Newbie

dovresti include il file form2.h

dopo di che creare l'istanza con

nomeprogetto::form2 nome;
nome.ShowDialog()

varton Profilo | Newbie

Grazie mille...ho risolto
Speriamo che ora vada tutto liscio.

varton Profilo | Newbie

Un ultimo aiuto.
Ho creato le form1 e form2, dove vi sono vari controlli sia nella 1 che nella 2 e va tutto bene, ma quando nella 2 inserisco una picturebox compilo e va tutto bene ma nel debug quando clicco sul bottone per aprire la form2 mi compare questo msg

Informazioni aggiuntive: Impossibile trovare risorse appropriate per le impostazioni cultura specificate o per le impostazioni cultura non associate ad alcun paese. Assicurarsi che "prova.prova.form2.resources" sia stato correttamente incorporato o collegato all'assembly "prova" in fase di compilazione o che tutti gli assembly satellite richiesti siano caricabili e firmati completamente.

Soltanto con la pictureox ho questo problema con gli altri controlli va bene. Ho controllati i percorsi e son giusti
grazie
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