Condividi:        

Lampeggio TextBox con condizione

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Lampeggio TextBox con condizione

Postdi WCB » 15/05/19 10:24

Ciao a tutti,
come sempre ho bisogno di voi :roll:
Ho buttato giù un codice, collegato ad una checkbox : se la checkbox è spuntata si può scrivere nella textbox se invece non è spuntata non si può scrivere.
Io vorrei invece che se la checkbox è spuntata la textbox "lampeggi" e nel momento in cui ci scrivo dentro il lampeggio termina.
Il codice è il seguente:
Codice: Seleziona tutto
Private Sub CheckBox1_Click()

    If CheckBox1 = True Then
        TextBox2.Enabled = True
    Else
        TextBox2.Enabled = False
    End If

End Sub

Ho provato a scrivere al posto di .Enabled, .BackColorGreen, secondo la mia testa :D se spuntata diventava verde invece non funziona per niente :neutral:
Chiedo un vostro gentile aiuto per risolvere il problema e naturalmente vi ringrazio per la vostra disponibilità.
Buona continuazione :)
"I computer sanno quando vai di fretta"
Excel 2016
Avatar utente
WCB
Utente Senior
 
Post: 101
Iscritto il: 09/01/19 17:52

Sponsor
 

Re: Lampeggio TextBox con condizione

Postdi Anthony47 » 15/05/19 11:36

Mah... queste interfacce personalizzate ognuno le interpreta come vuole (a meno che non siano per uso personale)
Io avrei mantenuto l'idea di Enabled /Disabled in funzione della CheckBox, poi quando l'utente preme "Carica" (o come si chiama il comando che trasferisce i dati) vado a controllare che i prerequisiti siano tutti rispettati altrimenti coloro in Giallo le anomalie (tanto questa fase non puoi evitartela, se vuoi essere sicuro di quel che fai).

Comunque...
-il colore di sfondo si imposta con "BackColor"; es .BackColor = RGB(0, 255, 0)
(se invece preferisci le costanti gia' impostate, vedi https://docs.microsoft.com/en-us/office ... lrgbcolor)

-se vuoi aggiungere un veloce Blink al colore di sfondo:
a) Aggiungi questo codice in un Modulo standatd o il Modulo di codice della Userform:
Codice: Seleziona tutto
Sub RFlash(ByRef CCtrol As Control)
If Not CCtrol Is Nothing Then
            CCtrol.BackColor = RGB(255, 255, 100)
            myWait (0.05)      'Secondi di permanenza
            CCtrol.BackColor = RGB(255, 100, 100)
            myWait (0.05)
            CCtrol.BackColor = RGB(255, 255, 100)
            myWait (0.05)
            CCtrol.BackColor = RGB(255, 100, 100)
            myWait (0.05)
            CCtrol.BackColor = RGB(255, 255, 100)
End If
End Sub

Sub myWait(myStab As Single)
Dim myStTiM As Single
'
    myStTiM = Timer
    Do          'wait myStab
        DoEvents
        If Timer > myStTiM + myStab Or Timer < myStTiM Then Exit Do
    Loop
End Sub

Modifica all'interno della Sub RFlash il numero di sequenze, il colore RGB e il tempo di permanenza per ottenere l'effetto voluto e il colore finale

Poi quando vuoi il lampeggiamento userai
Codice: Seleziona tutto
Call RFlash(TextBox2)


Esempio, partendo dal tuo codice:
Codice: Seleziona tutto
Private Sub CheckBox1_Click()
    If CheckBox1 = True Then
        TextBox2.Enabled = True
        Call RFlash(TextBox2)
        TextBox2.SetFocus
    Else
        TextBox2.Enabled = False
        TextBox2.BackColor = RGB(230, 230, 230)  'grigio leggero
    End If
End Sub


Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19221
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Lampeggio TextBox con condizione

Postdi WCB » 15/05/19 14:18

Ciao e grazie per aver risposto..
ho provato la tua soluzione e funziona alla grande!
Grazie mille dell'aiuto ;) :D
Giusto per sapere: cosa vuol dire Cctrol?
sarebbe il controllo della textbox?

Buona giornata 8)
"I computer sanno quando vai di fretta"
Excel 2016
Avatar utente
WCB
Utente Senior
 
Post: 101
Iscritto il: 09/01/19 17:52

Re: Lampeggio TextBox con condizione

Postdi Anthony47 » 16/05/19 09:53

CCtrol? Se l'avessi chiamato "Pippo" sarebbe stata la stessa cosa perche' si tratta del nome arbitrariamente assegnato ad una "variabile", a cui associo il "controllo" (es il textbox) che voglio far lampeggiare.
Nella mia personale logica, "CCtrol" e' abbreviazione di Current Control.
Visto che ci siamo, preciso che quella tecnica funziona con tutti I "controlli" che hanno la proprieta' BackColor.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19221
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Lampeggio TextBox con condizione":


Chi c’è in linea

Visitano il forum: papiriof e 56 ospiti