Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [C#] Riaprire una form chiusa con il pulsante "X"

    Ciao a tutti!
    Mi presento, sono Matteo, è la prima volta che scrivo nel forum

    Ho un problemino con C#:
    In una form MDI, creo l'istanza di una form child con questo codice:

    codice:
        public partial class frmMDI : Form
        {
            frmDevice frmDevice1 = new frmDevice();
    
            public frmMDI()
            {
                InitializeComponent();
            }
    
            private void frmMDI_Load(object sender, EventArgs e)
            {
                frmDevice1.MdiParent = this;
            }
    ...poi, alla pressione di un tasto visualizzo la form con Show:

    codice:
            private void btnDevice_Click(object sender, EventArgs e)
            {
                frmDevice1.Show();
            }
    ora...la form viene visualizzata correttamente, ma se l'utente la chiude con il pulsante "X", alla successiva pressione del tasto non succede nulla.
    C'è un modo per ricreare l'istanza?
    Sicuramente sto facendo una cappellata mostruosa, ma ho cercato nei forum e non ho trovato nulla... HELP!

  2. #2
    Utente di HTML.it L'avatar di torn24
    Registrato dal
    Aug 2008
    Messaggi
    551
    Tu crei l'oggetto nella classe , modifichi una proprietà nel metodo LOAD , e poi chiami il metodo show, tutto bene , ma se chiudi la finestra "distruggi" l'oggetto , successivamente chiami il metodo show , ma l'istanza non esiste più , non esiste l'oggetto ....

    Potresti risolvere , inserendo nel metodo click , tutto il codice , creazione dell'oggetto , modifica propietà , e richiamo metodo show() ,
    ovviamente ogni pressione del bottone ti crea una nuova istanza , per ovviare dovresti creare un campo public bool nel form principale , che alla creazione dell'istanza diventi true , alla chiusura del form secondario diventi false , e tramite un if nel metodo click far si di creare o no l'istanza .
    Tecnologia

  3. #3
    Perfetto, mi sembra una soluzione semplice, in effetti non ci avevo pensato!
    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.