2009-03-05 6 views
1

Je souhaite que le texte de ma zone de texte soit défini en majuscules chaque fois que currentItemChanged est déclenché. En d'autres termes, à chaque fois que le texte de la boîte change, j'aimerais que le contenu soit en majuscule. Voici mon code:Définition du contenu d'une zone de texte en majuscules sur CurrentItemChanged

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

L'événement se déclenche à coup sûr, j'ai testé avec un messageBox. Donc, je sais que j'ai fait quelque chose de mal ici ... la question est quoi.

Répondre

5

Les chaînes sont immuables. ToUpper() renvoie une nouvelle chaîne. Essayez ceci:

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

Bingo. Vous ne pouvez pas simplement appeler une fonction sur une chaîne sans la réaffecter. – TheTXI

+0

Lol ... Je vais le blâmer pour la fatigue: P – Sakkle

3

Je suppose que votre question est pourquoi votre code ne fonctionne pas.

Vous n'attribuez plus le texte "Extrémité" à la zone de texte.

devrait être:

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

Si tout ce que vous devez faire est de forcer l'entrée en majuscules, essayez la propriété CharacterCasing de la zone de texte.

toUserTextBox.CharacterCasing = CharacterCasing.Upper; 
+0

À moins que vous n'ayez spécifiquement besoin de gérer quelque chose d'autre dans cet événement, vous pouvez simplement le définir dans le menu des propriétés de cette zone de texte. ainsi que. –

Questions connexes