Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di Luca_89
    Registrato dal
    Sep 2005
    Messaggi
    128

    [C#] - Variabili tra form diversi?

    Salve ragazzi..
    ammetto che sono un pò confuso con i form e la "zona di validità" delle variabili... io vorrei fare la seguente:
    Ho un form X, che compie un certo lavoro.. in questo form ho una variabile..

    Vorrei che prima che si eseguisse il form X, apparisse un form Y dove, tramite textbox, inserire il valore e passarlo alla variabile del form X...
    Come avviene il passaggio di variabile?? Dal form Y non vedo la var. nel form X.. come fare??
    GRAZiE

  2. #2
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    come un normale passaggio di informazioni tra due istanze di due classi diverse.
    Porprietà oppure eventi...etc
    I got the remedy

  3. #3
    Utente di HTML.it L'avatar di Luca_89
    Registrato dal
    Sep 2005
    Messaggi
    128
    sulle proprietà mi sa che è ok.. per gli eventi?? Dovrei creare un delegato e poi?

  4. #4
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    praticamente nella formy devi creare un delegato e un evento per esempio:

    public delegate void ValoreInserito(object valore);//delegato
    public event ValoreInserito OnValoreInserito;//evento

    poi immagino che la formy avrà un un bottone(oltre alla textbox) che chiude questa form quindi all'evento click di questo bottone scrivi

    private void button_Click(object sender, EventArgs e)
    {
    if (OnValoreInserito!= null)//verifica se qualcuno si è registrato in questo evento
    OnValoreInserito(textbox.text);// lancia evento
    this.Close()//Chiude la form
    }


    poi per passare il valore, dentro alla formx scrivi:

    Formy frm = new Formy();
    frm.OnValoreInserito += ValoreInseritoHandler;
    frm.Show();//visualizza la form

    public void ValoreInseritoHandler(object valoreinserito)
    {
    MessageBox.Show(valoreinserito);//ti fa vedere il valore che hai inserito nella formy
    }

    ps:ho scritto velocemente quindi può darsi che ci sia qualche errore eh...
    I got the remedy

  5. #5
    Utente di HTML.it L'avatar di Luca_89
    Registrato dal
    Sep 2005
    Messaggi
    128
    Perdonami una domanda.. io nel form X ho l'evento Shown, e da qui avvio i vari metodi che mi servono... le istruzioni che mi hai dato tu dove vanno??? subito dopo l'"initiliatecomponent()" ? o prima??

  6. #6
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    ....
    I got the remedy

  7. #7
    Utente di HTML.it L'avatar di Luca_89
    Registrato dal
    Sep 2005
    Messaggi
    128
    Ok penso proprio di aver capito!! ho scaricato l'esempio, puoi cancellare... grazie per la disponibilità!! Provo e ti faccio sapere!

  8. #8
    Utente di HTML.it L'avatar di Luca_89
    Registrato dal
    Sep 2005
    Messaggi
    128
    Ok son riuscito.. ti chiedo anche, vorrei che il formX iniziasse il suo lavoro SOLO quando ho inserito i dati e premuto il button sul formY.. questo è possibile??
    Prima devo accertare che la variabile sia stata inserita tramite il formY

  9. #9
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    l'esempio è abbastanza chiaro e semplice, la formx può iniziare il suo lavoro dentro il gestore dell'evento OnValoreInserito, in questo caso
    public void ValoreInseritoHandler(object valoreinserito)
    {
    //qui....
    }
    I got the remedy

  10. #10
    Utente di HTML.it L'avatar di Luca_89
    Registrato dal
    Sep 2005
    Messaggi
    128
    Hai ragione.. ora è ok! purtroppo ancora non sono tanto abituato agli eventi... sto incominciando a capirli anche grazie a questo esempio!!
    Grazie ancora

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.