Impedire l'apertura di un Form secondario più di una volta
Per impedire che un Form secondario possa essere aperto più di una volta, si possono esperire almeno due modalità.
Facciamo l'esempio in cui un Form secondario (che chiameremo Form1) viene aperto mediante la pressione di un tasto posto sul Form principale (quello della Classe FMain).
Prima modalità
Nella prima modalità porremo del codice sia nella Classe principale FMain che nella Classe del Form secondario.
Il codice presente nella Classe principale FMain sarà il seguente:
Public frm As New Avisos Public Sub Button1_Click() frm.Show End
Il codice presente nella Classe del Form secondario (Form1) sarà il seguente, al fine di impedire che venga sollevato l'errore "Invalid object", quando si tenterà di aprire nuovamente il Form secondario (Form1), dopo averlo precedentemente chiuso:
Public Sub Form_Close() FMain.frm = New Form1 End
Seconda modalità
La seconda modalità è più breve, e fa uso della sola Classe del Form principale (FMain):
Public frm As Avisos Public Sub Button1_Click() If Object.IsValid(frm) = False Then frm = New Avisos frm.Show Endif End