Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di deedlyt
    Registrato dal
    Jan 2002
    Messaggi
    444

    [C#]Passare Variabili tra windows form..

    Ciao a tutti,
    Io ho 2 form, volevo sapere come faccio alla chiusura della form 2 passare un array list a form 1 che è già aperto.

    grazie

  2. #2
    Crea un nuovo campo pubblico di tipo ArrayList nella classe form1, quindi alla chiusura di form2 assegnaci l'ArrayList che ci devi passare.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it L'avatar di deedlyt
    Registrato dal
    Jan 2002
    Messaggi
    444
    ok fatto..

    però ho notato che quando chiudo la form2, e torno alla Form1 il valore della var. public viene azzerato.

    codice:
    Form2: 
    
    ....
                    for (int i = 0; i < lstCommesse.CheckedItems.Count; i++)
                    {
                        StampaFattureDTO lstDto = new StampaFattureDTO();
                        lstComm = lstCommesse.CheckedItems[i].ToString();
                        lstDto.LstNome= EstraiNomeCommessa(lstComm);
    
                        ListaComm.Add(lstDto); 
                    }
                    Form1 frm = new Form1 ();
                    frm.ListaComm = ListaComm;
                    this.Close();

  4. #4
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    bè così tu crei un nuovo form1.. invece non devi fare questo..

    nel costruttore del form2 metti anche un riferimento al form1 eppoi fai

    frm.listacomm = listacomm; //dove frm è il riferimento passato

  5. #5
    Utente di HTML.it L'avatar di deedlyt
    Registrato dal
    Jan 2002
    Messaggi
    444
    scusa la domanda ma cosa intendi per "nel costruttore del form2 "

  6. #6
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    su:

    codice:
    public partial class Form2: Form
    {
         public Form2()
         {
              initializeComponent();
         }
    }
    sostituisci con:

    codice:
    public partial class Form2: Form
    {
         private Form1 frm;
         public Form2(Form1 formprinc)
         {
              initializeComponent();
              frm = formprinc;
         }
    }

  7. #7

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 © 2024 vBulletin Solutions, Inc. All rights reserved.