Italian Risolto - Multiform

Fulvio75

Well-Known Member
Licensed User
Longtime User
Ciao, in una app B4J multiform come faccio a disabilitare il form che chiama l'altro form fino a quando questo chiamato è aperto?
Grazie
 
Risolto... ho utilizzato:

Frm form chiamante
OwnerFrm form chiamato da Frm

'Per disabilitare il form che chiama l'altro su un evento
Frm.RootPane.Enabled =false
'per riabilitare il form chiamante all'uscita del form chiamato passando il form chiamante al form chiamato
OwnerFrm.RootPane.Enabled = True
Form chiamato.Close
 
Altra domanda questo sopra lo posso fare con dei bottoni esempio Salva oppure Chiudi, c'è un modo per intercettare la pressione del bottone Chiudi X del form?
Ho provato con Focused ma questi eventi non funzionano sul form, non è B4XPage è un progetto normale.
 
Gli eventi relativi ai Forms non funzionano nei form figli creati dal form principale?

Evento form figlio
B4X: Copy
Private Sub MainForm_FocusChanged (HasFocus As Boolean)
    
End Sub

questo è il form figlio che viene caricato dal form principale e l'evento non ha il nome del form figlio ma di quello principale
 
Gli eventi relativi ai Forms non funzionano nei form figli creati dal form principale?

Evento form figlio
B4X: Copy
Private Sub MainForm_FocusChanged (HasFocus As Boolean)
   
End Sub

questo è il form figlio che viene caricato dal form principale e l'evento non ha il nome del form figlio ma di quello principale
Quella sub era già presente nel form figlio?
Per funzionare credo che dovrà avere il nome della Form.
 
Non posso fare prove in quanto sono in ferie e quindi senza PC. ?
 
Altra domanda questo sopra lo posso fare con dei bottoni esempio Salva oppure Chiudi, c'è un modo per intercettare la pressione del bottone Chiudi X del form?
Ho provato con Focused ma questi eventi non funzionano sul form, non è B4XPage è un progetto normale.
Crea un variabile a livello di modulo, boolean, che imposterai su True negli eventi di Salva e Chiudi.
Poi:
B4X: Copy
Private Sub NomeTuoForm_CloseRequest (EventData As Event)
    If Not(TuaVariabile) Then EventData.Consume
End Sub
 
Crea un variabile a livello di modulo, boolean, che imposterai su True negli eventi di Salva e Chiudi.
Poi:
B4X: Copy
Private Sub NomeTuoForm_CloseRequest (EventData As Event)
    If Not(TuaVariabile) Then EventData.Consume
End Sub
Il problema è che non entra in NomeTuoForm_CloseRequest come se non esistesse, poi se ho il form figlio del main form e vado nel designer di form figlio ho la treeview del designer, clicco con il bottone destro su main e vedo gli eventi del form figlio, scelgo un evento qualsiasi tipo mouse click e lo aggiunge al codice, però non succede nulla l'evento non avviene
 
form.Initialize("form",600,700)

Private Sub form_CloseRequest (EventData As Event)
If Not(TuaVariabile) Then EventData.Consume
End Sub

non avevo messo form initialize
 
Back
Top