Verificare se un Form è attivo
Da Gambas-it.org - Wikipedia.
Versione del 30 set 2023 alle 15:15 di Vuott (Discussione | contributi) (Creata pagina con "Per verificare se un Form è attivo, si potranno utilizzare alcune modalità. ==Uso delle risorse della Classe ''Application''== Si utilizzerà la Proprietà ".ActiveWindow"...")
Per verificare se un Form è attivo, si potranno utilizzare alcune modalità.
Uso delle risorse della Classe Application
Si utilizzerà la Proprietà ".ActiveWindow" della Classe Application. <BRSe la verifica deve avvenire all'apertura del Form, sarà necessario imporre Wait anche di qualche decimo di secondo.
Mostriamo un esempio:
Public Sub Form_Open() Me.Show Wait 0.5 Print Application.ActiveWindow.Name End
oppure:
Public Sub Form_Open() Me.Show Do Wait 0.5 Loop Until Application.ActiveWindow.Name = "FMain" Print Application.ActiveWindow.Name End
Uso della Classe DesktopWindow
Per la verifica di un Form o comunque di una qualunque altra finestra si può anche pensare ad una soluzione che ne accerti l'esistenza partendo dal suo nome visibile mediante la Classe DesktopWindow.
E' necessario attivare i Componenti gb.desktop e gb.desktop.x11 .
Poniamo il caso che il Form da verificare si chiami "Finestra":
Public Sub Button1_Click() Dim dw As DesktopWindow ' Di ogni finestra aperta sul desktop... For Each dw In Desktop.Windows ' ...cerca il nome. Se il nome "visibile" è uguale al nome del "Form" che cerchiamo, allora lo rileva: If dw.VisibleName = "Finestra" then Print "Il Form è attivo !" Next End