25/11/2023 - nerofumo ha scritto:
Ri_buongiorno a tutti, ritornando al problema di cui sopra ho fatto alcune prove con questo codice:
Private Sub Form_Load()
If Me.Comando12.Enabled = False Then
Me.Sottomaschera_tab_Epreventivospese1.Form.Visible = True
Else
Me.Sottomaschera_tab_Epreventivospese1.Form.Visible = False
End If
If Me.Comando12.Enabled = False Then
Me.Sottomaschera_E_preventivospese.Form.Visible = False
Else
Me.Sottomaschera_E_preventivospese.Form.Visible = True
End If
Intanto questo codice può essere notevolmente semplificato :
Me.Sottomaschera_tab_Epreventivospese1.Form.Visible = Not Me.Comando12.Enabled
Me.Sottomaschera_E_preventivospese.Form.Visible = Me.Comando12.Enabled
Ti consiglio di partire in questo modo (ho usato dei nomi di controlli generici, adattali al tuo uso) :
- a livello di disegno rendi visibile SM1, SM2 e rendi NON visibile SM3
- sull'evento Form_Load ribadisci i criteri di visibilità/non visibilità delle SM
- nell'evento Cmd_Click (quello riferito al Command che deve agire sulla visibilità) inverti la visibilità su SM2 e SM3. Per ora concentrati solo sull'ottenere l'effetto visibilità che desideri senza preoccuparti di rendere non visibile (o disabilitato) il Command.
Private Cmd_Click()
Me.SM2.Visible = Not Me.SM2.Visible
Me.SM3.Visible = Not Me.SM2.Visible
End Sub
Ogni volta che clicchi su Cmd inverti la visibilità tra SM2 e SM3 …
Se, come credo, questo giochino funziona poi ti concentri su come disabilitare Cmd1 (spostando anche il focus su un allo controllo).