Differenze tra le versioni di "Impedire l'apertura di un Form secondario più di una volta"
Riga 1: | Riga 1: | ||
Per impedire che un ''Form'' secondario possa essere aperto più di una volta, si possono esperire almeno due modalità. | 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''). | 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à==== | ====Prima modalità==== | ||
Nella prima modalità porremo del codice sia nella Classe principale ''FMain'' che nella Classe del ''Form'' secondario. | 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: | Il codice presente nella Classe principale ''FMain'' sarà il seguente: | ||
Riga 13: | Riga 10: | ||
− | + | Public Sub Button1_Click() | |
frm.Show | 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: | 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 | FMain.frm = New Form1 | ||
− | + | End | |
Riga 34: | Riga 31: | ||
− | + | Public Sub Button1_Click() | |
If Object.IsValid(frm) = False Then | If Object.IsValid(frm) = False Then | ||
Riga 41: | Riga 38: | ||
Endif | Endif | ||
− | + | End |
Versione attuale delle 15:42, 25 giu 2024
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