Originariamente inviato da rs125
Ciao ragazzi,in pratica dopo aver implementato il datareport nel mio programma ho inserito un'icona di stampa e una di preview ma ho un problema. In entrambe le icone devo inserire una funzione che sia in grado di controllare se i tre form "stampabili" sono aperti o meno,come posso fare?Non ho idea di come poter fare...magari sarà una banalità e non mi viene in mente.Grazie
Devi utilizzare delle variabili globali, una per ogni form, che ti indicano se è aperto o meno quel form.
Devi dichiarare le variabili come Public in modulo BAS , altrimenti il programma non le potrà 'vedere'. Ecco come:
Crei le dichiarazioni nel modulo BAS (qualsiasi modulo va bene), e la funzione VerificaFormAperti:
codice:
Public gbForm1Aperto As Boolean ' serve per il Form1
Public gbForm2Aperto As Boolean ' serve per il Form2
Public gbForm3Aperto As Boolean ' serve per il Form3
Public Function VerificaFormAperti () As Boolean
VerificaFormAperti =False
If gbForm1Aperto AND gbForm2Aperto AND gbForm3Aperto Then
Rem Sono tutti aperti!
VerificaFormAperti = True
End If
End Function
Poi in ogni Form negli appositi eventi imposti il valore della variabile quando si apre il form (Form_Load) e quando si chiude (Form_Unload).
Esempio per il Form1 :
codice:
Private Sub Form_Load()
gbForm1Aperto = True
End Sub
Private Sub Form_Unload()
gbForm1Aperto = False
End Sub
Devi poi ripetere la stessa cosa per tutti i form che vuoi verificare.
Quando vuoi sapere se sono aperti, chiamerai la funzione VerificaFormAperti()
per saperlo:
codice:
If VerificaFormAperti() = True Then
Rem Stampa i Form
Else
Rem Non Puoi Stampare!
End If
Ciao