46 messaggi dal 01 novembre 2012
Buongiorno,

con il seguente codice ottengo la prima lettera in maiuscolo e le restanti in minuscolo.

TextBox.Text = TextBox.Text.Substring(0, 1).ToUpper() + TextBox.Text.Substring(1).ToLower();


Gradirei se è possibile avere oltre la prima lettera in maiuscolo, le restanti libero di usare anche in maiuscolo. Per es. ( Vado al Mare per il Bagno).

Fiducioso di un gradito suggerimento, saluto.
Domenico.
269 messaggi dal 08 gennaio 2011
Ciao, Secondo me dovresti usare una funzione simile a questa di seguito mostrata.
 Private Function InizialiInMaiuscolo(s As String) As String
        Dim p() As String
        Dim sb As New Text.StringBuilder
        p = s.Split(" ")
        For t = 0 To p.Length - 1
            If p(t) <> "" Then
                sb.Append(p(t).Substring(0, 1).ToUpper + p(t).Substring(1, p(t).Length - 1) + " ")
            End If
        Next
        Return sb.ToString.Trim
    End Function


La funzione accetta una frase in s, della quale si ottengono le parole che la compongono tramite la funzione Split che usa come separatore lo spazio. Le parole vengono memorizzate nell'array p(). Una volta ottenute le parole, viene costruita una stringa in sb modificando in maiuscolo il primo carattere di ogni parola. Questa funzione rimuove anche eventuali doppi spazi contenuti nella frase iniziale.
269 messaggi dal 08 gennaio 2011
Mi era sembrato VB...
La stessa cosa in C#

 private string InizialiInMaiuscolo(string s)
        {
            string[] p;
            StringBuilder sb = new StringBuilder();
            p = s.Split(' ');

            for (int i = 0; i < p.Length; i++)
            {
                if (p[i] != "")
                {
                    sb.Append(p[i].Substring(0, 1).ToUpper());
                    sb.Append(p[i].Substring(1, p[i].Length - 1));
                    sb.Append(' ');
                }
            }
            return sb.ToString().Trim();

        }
46 messaggi dal 01 novembre 2012
Gent.mo Mario,

ringrazio della disponibilità e mi scuso del ritardo.

Purtroppo non sono riuscito a risolvere il problema.

In TextBox inserisco la seguente frase: "vado a scuola per Leggere" e
con l'invio gradirei avere: "Vado a scuola per Leggere".

Fiducioso e rinnovo le scuse, saluto.
Domenico.
Ciao Domenico
Prova dentro il pulsante questo codice

            var MyString = textBox1.Text;
            MyString = char.ToUpper(MyString[0]) + MyString.Substring(1);
            MessageBox.Show(MyString);   


fammi sapere se funziona.
grazie

Maurizio
46 messaggi dal 01 novembre 2012
Gent.mo Maurizio,

ringrazio della disponibilità e ancora non funziona, appena digito una lettera va in errore:
"Indice oltre i limiti della matrice".

Fiducioso, auguro una buona giornata.
Domenico.
hai cambiato il textBox1.Text del mio codice con il nome del tuo textbox?
inoltre puoi aggiungere un controllo se il textbox è vuoto prima di eseguire il codice altrimenti ti da quell'eccezione:


 var MyString = textBox1.Text;   //ATTENZIONE QUI HO CHIAMATO TEXTBOX1 MA VA SOSTITUITO CON IL NOME DELLA TXTBOX CHE VUOI CONTROLLARE

if (string.IsNullOrWhiteSpace(MyString))  //controllo che il testo della textbox non sia vuoto
            {
                return;
            }

            MyString = char.ToUpper(MyString[0]) + MyString.Substring(1);
            MessageBox.Show(MyString);   



se continua a darti errore puoi per favore postare il codice del tuo pulsante?

fammi sapere!
grazie!

Maurizio
46 messaggi dal 01 novembre 2012
Gent.mo Maurizio,

ringrazio della tempestività funziona l'errore è dipeso da me.

Approfitto per chiedere:

Al passaggio del mouse sul Button gradirei che apparisse al di sotto una scritta.

Tempo fa lo feci inserendo tra le proprietà del Button che al momento non ricordo.

Nell'augurare buon pranzo, saluto.

Domenico.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.