Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    137

    [C#] Ricaricare i dati su uno stesso form

    Ciao,
    ho un form con un treeview, cliccando su un elemento del treeview apro un form con i dati relativi all'elemento scelto, e fin qui va bene... il problema è quando scelgo un altro elemento dal treeview perchè mi apre un altro form e io invece vorrei caricare i dati sempre sullo stesso... Ho capito che il problema è che io faccio sempre form2.Show, ma come faccio a controllare che il form2 è già aperto e ad aggiornare i dati?

    Posto il codice:

    Dal form1 faccio:
    Form2 frm2 = new Form2();
    frm2.CaricaForm(e.Node.Name);

    Dal form2 faccio:

    public void CaricaForm(string idEle)
    {
    try
    {
    defEle = new DefinizioneElemento();

    Elemento ele = defEle.Trova(idEle, null);
    ObjToForm(ele);

    this.StartPosition = FormStartPosition.Manual;
    this.Left = 200;
    //this.Top = 10;
    this.Show();
    }
    catch (PMException ex)
    {
    MessageBox.Show(ex.Message);
    }
    }

    Grazie!!

  2. #2
    Al posto di una variabile locale frm2 sposta la variabile a livello di classe, quindi modifica il codice in questa maniera:
    codice:
    if(!frm2==null)
        Form2 frm2 = new Form2();
    frm2.CaricaForm(e.Node.Name);
    .
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Il suggerimento di MItaly è valido.
    Solo alcuni ritocchi :

    codice:
    // Al posto di
      
    if(!frm2==null)
        Form2 frm2 = new Form2();
    frm2.CaricaForm(e.Node.Name);
    
    // Metti 
    if (frm2==null || frm2.isDisposed)
        Form2 frm2 = new Form2();
    frm2.CaricaForm(e.Node.Name);
    Ciao, Brainjar

  4. #4
    Giusto; grazie per la precisazione.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    137
    Perfetto! Grazie mille!!!

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.