Domanda C# Visual Studio 2019 c# prima lettera in maiuscolo

Pacifico437

Utente Gold
27 Aprile 2012
166
78
6
200
Buongiorno,

in una frase "io vado a scuola", gradirei che solo la prima lettera dovrebbe essere convertita in maiuscolo e le restanti in minuscolo.

Con il seguente codice ottengo che tutte le iniziali sono convertite in maiuscolo "Io Vado A Scuola" anzichè "Io vado a scuola".

Codice:
TextBox.Text = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(TextBox.Text.Replace("'", "§")).Replace("§", "'");

Fiducioso di un gradito suggerimento, ringrazio anticipatamente e saluto.
Domenico.
 
Usa questa funzione


Codice:
Public Function ToUppercaseFirstLetter(ByVal Text As String) As String
        If Text = "" Then Return Text
        Dim array() As Char = Text.ToCharArray
        array(0) = Char.ToUpper(array(0))
        Return array
    End Function

e poi la chiami da un button per esempio con
Codice:
TextBox1.Text = ToUppercaseFirstLetter(TextBox1.Text)

Il codice funziona solo se non c'è nessuna lettera maiuscola in mezzo al testo.
Se invece vuoi forzare il maiuscolo della prima lettera e rendere minuscole le altre possibili lettere maiuscole presenti nel testo, questo codice fa a caso tuo .
Codice:
 If TextBox1.TextLength > 1 Then
     TextBox1.Text = TextBox1.Text.Substring(0, 1).ToUpper() + TextBox1.Text.Substring(1).ToLower()
 ElseIf TextBox1.TextLength = 1 Then
     TextBox1.Text = TextBox1.Text.ToUpper()
 EndIf
 
Gent.mo Matty80,

ringrazio della disponibilità e mi scuso del ritardo.

Il codice che mi hai fornito è per VBNET e non per C#.

l'ho modificato per il C# e funziona perfettamente usando il 2° codice per forzare la prima lettera in maiuscolo e le restanti in minuscolo.

Non so se è possibile modificare il codice.

Se dovessi digitare per es. (Io vado al Mare) la parola Mare diventa minuscolo.
E' possibile (Mare) rimanere maiuscolo?

Mi scuso se approfitto, fiducioso saluto.
Domenico.
 
Gent.mo Matty80,

ringrazio della disponibilità e mi scuso del ritardo.

Il codice che mi hai fornito è per VBNET e non per C#.

l'ho modificato per il C# e funziona perfettamente usando il 2° codice per forzare la prima lettera in maiuscolo e le restanti in minuscolo.

Non so se è possibile modificare il codice.

Se dovessi digitare per es. (Io vado al Mare) la parola Mare diventa minuscolo.
E' possibile (Mare) rimanere maiuscolo?

Mi scuso se approfitto, fiducioso saluto.
Domenico.
certo, usando la prima funzione.