Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [VB6] Controllo caratteri immessi in textbox

    Salve...
    Ho un textbox in cui vorrei che si potessero immettere solo valori numerici, e contemporaneamente aumentare di 1 il valore del textbox alla pressione della freccia verso l'alto e diminuirlo di 1 alla pressione della freccia verso il basso.

    Ho scritto questo:
    codice:
    Private Sub txtrit_KeyPress(KeyAscii As Integer)
        Select Case KeyAscii
            Case vbKeyUp: txtrit.Text = txtrit.Text + 1
            Case vbKeyDown: txtrit.Text = txtrit.Text - 1
            Case Is < 32
            Case 48 To 57
            Case Else
                KeyAscii = 0
        End Select
    End Sub
    ma non mi aumenta o diminuisce il valore alla pressione delle frecce e, correttaemnte, mi impedisce di inserire cose diverse dai numeri.

    Ho provato allora così:
    codice:
    Private Sub txtrit_KeyDown(KeyCode As Integer, Shift As Integer)
        Select Case KeyCode
            Case vbKeyUp: txtrit.Text = txtrit.Text + 1
            Case vbKeyDown: txtrit.Text = txtrit.Text - 1
            Case Is < 32
            Case 48 To 57
            Case Else
                KeyCode = 0
        End Select
    End Sub
    ma fa esattamente il contrario, cioè mi aumenta e diminuisce il valore premendo le frecce ma mi fa inserire qualsiasi carattere, anche non numeri..

    Come lo risolvo?

    Grazie mille...
    zoodany..

    www.zoodany.it

  2. #2
    ciao zoodany ,
    prova con questo
    Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
    KeyAscii = CkDgtNumber(KeyAscii, 0, 9)

    End Sub

    Alarico_Re

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Usa di tutte e due i codici, le parti che ti servono

    codice:
    Private Sub Text1_KeyPress(KeyAscii As Integer)
        Select Case KeyAscii
            Case Is < 32
            Case 48 To 57
            Case Else
                KeyAscii = 0
        End Select
    End Sub
    
    Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
        Select Case KeyCode
            Case vbKeyUp:
                Text1.Text = Text1.Text + 1
            Case vbKeyDown:
                Text1.Text = Text1.Text - 1
        End Select
    End Sub
    (Per Alarico_Re: CkDgtNumber e' una funzione di cui dovresti dare il codice ... non e' di VB, e senza il codice non basta inserirla nella KeyPress ...)

  4. #4
    Risolto!
    Grazie mille!!
    zoodany..

    www.zoodany.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.