Gestire più form con una classe [C#]

martedì 22 luglio 2008 - 16.30

piero87 Profilo | Junior Member

Ciao a tutti!!!
Vorrei capire come gestire i form (aprire e chiudere) tramite una classe....mi potete aiutare? so che devo far partire il primo form che mi interessa dal main della classe e gestirli poi con la showdialog e infine chiuderli al momento giusto con la classe (almeno così mi hanno detto )...

Potete darmi una mano, in qualsiasi modo (consigli, esempi, perle di saggezza, link....)???

In fondo dovrebbe essere un problema diffuso questo, no?? ma dato che nessuno ne parla (o quasi), beh, vuol dire che tutti sanno la soluzione...giusto?? me la dite???

Dopo un po' di tentativi, ora riesco ad aprire un form da una classe (il primo dei due) e a passare al secondo, ma salta un passaggio fondamentale....io devo poter ripassare alla classe chiamante i dati aggiornati, per poi passarli (tramite la classe) al secondo form chiamante....mi sono spiegato bene? avete qualche idea?


Scherzi a parte, spero in un vostro aiuto!!


ps. chiedo scusa se prima ho sbagliato sezione di post!
Piero

trasportation Profilo | Junior Member

Non ho capito bene cosa devi fare, la cosa più semplice per passare dati da un form è quella di creare una proprietà pubblica (magari un tua classe strutturata con i dati che vuoi elaborare) del form che vuoi aprire, apri il form elabori i dati poi alla chiusura del form riprendi le informazioni dalla proprietà pubblica.

un esempio potrebbe essere

mioForm mioform= new mioForm();
mioform.miaProprieta = mioValoreDaModificare;
mioform.ShowDialog();
mioValoreDaModificare = mioform.miaProprieta;
mioform.Dispose();

Spero di aver capito il tuo problema.

R.

/*
* web: http://www.robertobeccari.it
*/

piero87 Profilo | Junior Member

beh si..io apro un form da uan classe passandogli dei dati e vorrei ritornare alla classe i dati modificati (per poi passarli a un altro form)....quindi, si, avevi capito quello che intendo, credo

cmq...mi potresti spiegare meglio meglio come fare?? io devo passare e poi avere aggiornati nella classe 3 stringhe e un dialogresult (mi serve per capire se aprire o no il secondo form)...inoltre nel tuo esempio setti form.miaproprità...come faccio ad aggiungere proprietà a un form?


Piero

trasportation Profilo | Junior Member

il form è una classe quindi nello stesso modo aggiungi una proprità ad una classe la aggiungi al form

public class mioForm : Form
{
private miaClasse _miaprorpieta;
public miaClasse miaProprieta
{
get {return _miaprorpieta;}
set {_miaprorpieta = value;}
}
}
/*
* web: http://www.robertobeccari.it
*/

piero87 Profilo | Junior Member

il codice che hai appena scritto va nella classe vero?

altra domanda: non ho mai visto i ":" in c#....è corretto?
Piero

trasportation Profilo | Junior Member

del codice che ho scritto devi utilizzare solo la parte interna, quella con i ":" è la dichiarazione della classe (un esempio)

questo è il codice che devi includere nella classe.

private miaClasse _miaprorpieta;
public miaClasse miaProprieta
{
get {return _miaprorpieta;}
set {_miaprorpieta = value;}
}
/*
* web: http://www.robertobeccari.it
*/

piero87 Profilo | Junior Member

ti chiedo scusa...ma ho ancora dei problemini

cioè, dopo che dichiaro un form del tipo classe1 (giusto? aiutami se sbaglio), come faccio a far tornare i dati al form chiamante? cioè, da quel che intuisco dal tuo esempio, sembra che lo chiami, lo modifichi e lo aggiorni nello stesso file.... scusa, ma mi manca un pezzo per capire tutto...

nel file della classe aggiungo la proprietà (o nel file del form (mi sembrerebbe più giusto, no?))

dalla classe chiamo il primo form (come?normalmente?)

nel primo form elaboro i dati (devo fare qualcosa di particolare?)

come li ritorno alla classe, che poi chiamerà, eventualmente, il secondo form????
Piero

piero87 Profilo | Junior Member

ora riesco a creare una nuova proprietà del form....però nn riesco ad assegnarle valori!!!
come si fa a scriverci stringhe? mi dice che non posso convertire stringhe in form e viceversa...ok, ma allore come si fa?
Piero
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5