Domanda

Vorrei che il testo nella mia casella di testo fosse impostato in maiuscolo ogni volta che viene attivato currentItemChanged. In altre parole, ogni volta che il testo nella casella cambia, vorrei rendere il contenuto in maiuscolo. Ecco il mio codice:

private void rootBindingSource_CurrentItemChanged(object sender, System.EventArgs e)
{
    toUserTextBox.Text.ToUpper();
    readWriteAuthorization1.ResetControlAuthorization();
}

L'evento si innesca di sicuro, ho testato con un messageBox. Quindi so di aver fatto qualcosa di sbagliato qui ... la domanda è cosa.

È stato utile?

Soluzione

Le stringhe sono immutabili. ToUpper () restituisce una nuova stringa. Prova questo:

private void rootBindingSource_CurrentItemChanged(object sender, System.EventArgs e)
{
    toUserTextBox.Text = toUserTextBox.Text.ToUpper();
    readWriteAuthorization1.ResetControlAuthorization();
}

Altri suggerimenti

Se tutto ciò che devi fare è forzare l'input in lettere maiuscole, prova Proprietà CharacterCasing della casella di testo.

toUserTextBox.CharacterCasing = CharacterCasing.Upper;

Immagino che la tua domanda sia: Perché il tuo codice non funziona.

Non stai assegnando " Uppered " di nuovo il testo nella casella di testo.

Dovrebbe essere:

private void rootBindingSource_CurrentItemChanged(object sender, System.EventArgs e)
{
    toUserTextBox.Text = toUserTextBox.Text.ToUpper();
    readWriteAuthorization1.ResetControlAuthorization();
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top