Textbox cambia colore e lampeggia se supera il valore inseri

di il
3 risposte

Textbox cambia colore e lampeggia se supera il valore inseri

Salve a tutti

eccomi con un nuovo quesito

la textbox1 riceve la % delle somme di altrettante textbox
io vorrei far si che se il valore che riceve supera il 10 deve cambiare colore e lampeggiare
es: verde se va da 0 a 10 rosso lampeggiante se va da 11 all'infinito

ho fatto questo codice leggendo i vari libri ma purtroppo non va mi potete aiutare dove ho sbagliato
grazie

Codice:
PublicClass Form1

PrivateSub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load
EndSub
PrivateSub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim val1 AsInteger = 0
Integer.TryParse(TextBox1.Text, val1)
If val1 < 10 = FalseThen
TextBox1.BackColor.Green
TextBox1.Visible.True()
EndIf
End
If val1 > 10 = TrueThen
TextBox1.BackColor.Red
TextBox1.Visible = Not TextBox1.Visible
EndIf
EndSub
EndClass

3 Risposte

  • Re: Textbox cambia colore e lampeggia se supera il valore inseri

    Ciao,
    devi assegnare un colore alla textbox
    devi inserire al posto di
    textBox1.BackColor.Green
    la riga seguente
    textBox1.BackColor = Color.Green
    la stessa cosa anche per il colore rosso

    Ti consiglio di inserire il codice del controllo subito dopol'esecuzione dell'operazione di assegnazione (cioe' quando inserisci il valore nel text box)
    esempio"
    
    ...
    textBox1.Text = a
    if a > 10 then
        textBox1.BackColor = Color.Red
        Timer1.Enabled = True
    Else
        textBox1.BackColor = Color.Green
        Timer1.Enabled = false
    End If
    
    nell'evento tick del timer ti basta
    
    textBox1.Visible = Not textBox.Visible
    
    nell'evento load del form potresti inserire
    
    Timer1.Enabled = False
    Timer1.Interval = 700 'Setto a 0.7 secondi
    
  • Re: Textbox cambia colore e lampeggia se supera il valore inseri

    Risolto cosi
    PublicClass Form1
    
    PrivateSub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    Dim val1 AsInteger = 0
    Integer.TryParse(TextBox2.Text, val1)
    
    If (val1 >= 0 And val1 <= 10) Then
                TextBox2.BackColor = Color.Green
                 TextBox2.Visible = true
    
    EndIf
    If (val1 > 10) Then
                TextBox2.BackColor = Color.Red
                TextBox2.Visible = Not TextBox2.Visible
    EndIf
    
    
    EndSub
    
    PrivateSub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
            TextBox2.Text = TextBox1.Text
    EndSub
    
    PrivateSub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load
    
    EndSub
    EndClass
    unico problema funziona solo se il valore inserito nella textbox1 e intero es: 1 -8 - 10 ecc..
    ma se il valore contiene una virgola non va es: 1,1 - 8,6 - 10,6 ecc.
    come faccio a dire che deve leggere anche e sopratutto quelli con le virgole
  • Re: Textbox cambia colore e lampeggia se supera il valore inseri

    Ho un problemino il codice funziona pero gli devo dire che deve leggere anche i numeri con le virgole es:10,5 ecc
    perche giustamente cosi funziona solo se il valore inserito e intero es: 10 - 12 ecc
    io ho pensato cosi pero non va sai dirmi dove sbaglio
    Public Class Form1
     
       Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
     
               Dim val1 As Double = 0d
               Double.TryParse(TextBox2.Text, val1)
     
           If (val1 >= 0 And val1 <= 10) Then
               TextBox2.BackColor = Color.Green
                       TextBox2.Visible = true
     
           End If
           If (val1 > 10) Then
               TextBox2.BackColor = Color.Red
               TextBox2.Visible = Not TextBox2.Visible
           End If
     
     
       End Sub
     
       Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
           TextBox2.Text = TextBox1.Text
       End Sub
     
       Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
    End Sub
    End ClassCopia negli appunti
Devi accedere o registrarti per scrivere nel forum
3 risposte