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

    [vb.net] testo textbox tutto maiuscolo

    ciao a tutti ........
    Data una textbox con la funzione Ucase posso fare in modo che una lettera di una textbox (l'iniziale nel mio caso specifico)passi da minuscolo a minuscolo

    Public Function maiuscole(ByRef t1 As String)
    Dim iniziale As String
    Dim stringaTemp As String

    iniziale = Mid(t1, 1, 1) 'ricavo la lettera iniziale
    stringaTemp = Mid(t1, 2, Len(t1)) t1 = UCase(iniziale) & stringaTemp
    Return t1
    End Function

    Se volessi fare in modo che tutte le lettere di una textbox diventino maiuscole mano a mano che vengono scritte?
    esiste una funzione o altro per farlo in automatico?

  2. #2
    con TextBox1.Text = UCase(TextBox1.Text)

    trasforma tutte le lettere da minuscole a maiuscole
    pero' occorre richiamare la funzione ad ogni cambio testo e nel mio caso la cosa è molto pesante da fare (ho circa 300-400 text box)

    io intendevo se c'è una qualche impostazione propia del txtbox che faccia cio automaticamente

  3. #3
    binos se cerchi nelle proprietà della textbox c'è una proprietà che ti permette di fare quello che vuoi tu: normal, upper o lower....
    I database... la mia passione + o -

  4. #4
    Ciao Binos.
    Ti indico varie soluzioni alla tua esigenza.

    Una soluzione possibile potrebbe essere questa che ti copio da un mio programma:

    codice:
    Private Sub txtNote_Validate(Cancel As Boolean)    ' Note eventuali: solo conversione in maiuscolo - dato non obbligatorio
       If txtNote.Text <> Space(0) Then
          txtNote.Text = UCase(txtNote.Text)
       End If
    End Sub
    In questo modo puoi scrivere in minuscolo ma, al passaggio sul controllo successivo, il testo è convertito automaticamente in maiuscolo.

    Esiste comunque una funzione che permette la conversione automatica in maiuscolo carattere per carattere digitato.
    Eccola descritta:

    codice:
    Private Sub Text1_KeyPress(KeyAscii As Integer)
       KeyAscii = Maius(KeyAscii)
    End Sub
    codice:
    Function Maius(KeyAscii As Integer)
       Maius = IIf(KeyAscii > 96 And KeyAscii < 123, KeyAscii - 32, KeyAscii)
    End Function
    Questo però vuol dire che per ogni tua textbox devi gestire un evento.

    Un'altra soluzione più utile secondo me, è però l'uso del controllo Masked Edit Box (da aggiungere dai Riferimenti) che permette di formattare i dati immessi direttamente in maiuscolo senza agire sul codice ma interagendo sulla proprietà "Mask".
    Ti conviene però leggere qualcosa in proposito.

    Fammi sapere.

    Giulio C. - Roma

  5. #5
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    Masked Edit Box pero se nn erro è un componente com non del framework vero ???

  6. #6
    Ciao Cassano.
    Sinceramente non mi ero accorto che il nostro amico parlasse di VBNet.
    Chiedo pertanto venia

    Di sicuro la Masked Edit Box è in VB6 perché l'ho utilizzata varie volte.

    Giulio C. - Roma

  7. #7
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    si è anche presente in vb.net 2005 ma non in vb.net 2003.

  8. #8
    scusate ma quali sono i vostri problemi ad usare una proprietà appartenente al controllo textbox che vi fa inserire direttamente i caratteri come volete voi? anzichè usare ucase o lcase( che oltretutto sono obsoleti visto che adesso ci sono i metodi lowercase e uppercase del textboxt)....
    I database... la mia passione + o -

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.