Comment obtenir le nouveau texte dans TextChanged?
Dans une zone de texte, je suis à la surveillance de la modification du texte. J'ai besoin de vérifier le texte avant de faire quelques choses. Mais je ne peux vérifier le texte ancien dans l'instant. Comment puis-je obtenir le nouveau Texte ?
private void textChanged(object sender, EventArgs e)
{
//need to check the new text
}
Je sais .NET Framework 4.5 est la nouvelle TextChangedEventArgs
classe, mais je dois l'utiliser .NET Framework 2.0.
source d'informationauteur Bitterblue
Vous devez vous connecter pour publier un commentaire.
Obtenir la NOUVELLE valeur
Vous pouvez simplement utiliser le
Text
propriété de laTextBox
. Si cet événement est utilisé pour de multiples zones de texte, alors vous voudrez utiliser lesender
paramètre pour obtenir la bonneTextBox
de contrôle, comme si...L'obtention de l'ANCIENNE valeur
Pour ceux qui cherchent à obtenir de l'ancienne valeur, vous aurez besoin de garder des voies de qui vous-même. Je suggère une simple variable qui commence comme vide, et les changements à la fin de chaque événement:
Vous pouvez créer votre propre contrôle de zone de texte qui hérite de la, et ajoute cette fonctionnalité supplémentaire, si vous prévoyez de l'utiliser beaucoup.
Ont un look à la zone de texte événements comme KeyUpKeyPress etc. Par exemple:
Peut-être ceux-ci peuvent vous aider à atteindre ce que vous cherchez.
Même avec les plus âgés .net fw 2.0, vous devez toujours l'ancienne et la nouvelle valeur dans la eventArgs si ce n'est dans la zone de texte.texte de la propriété elle-même, car l'événement est déclenché après et non pas au cours du texte en train de changer.
Si vous voulez faire des choses pendant que le texte est en cours de modification, puis essayez de l'événement KeyUp, plutôt que de le Changé.