2010-12-09 5 views
0

Je crée mon propre contrôle de boîte de commentaires qui hérite d'une zone de texte winforms. Une des choses qu'il fait est d'empêcher les utilisateurs d'entrer des caractères si la limite a été atteinte. Donc, sur l'événement keypress je prends simplement la clé entrante (sauf delete et backspace) et l'ajoute à ce qui est déjà dans la zone de texte, puis vérifie et vois quelle est la longueur. Si c'est fini, alors je viens de mettre le e.Handled = true et la touche est arrêtée. Ce schéma échoue cependant sur un événement de collage ctrl-v entrant. Il s'enregistre comme un seul keychar entrant. Donc la pâte ne passera pas si je suis juste à la limite, mais elle ira plus loin s'il reste un caractère de la pièce et que la pâte a deux ou plusieurs caractères par exemple. J'ai juste besoin d'un moyen de détecter que cette pâte arrive, et quand elle arrive, j'ai besoin de savoir quelle est la longueur de la chaîne pour pouvoir l'empêcher ou la coller autant que possible. là-bas.Comment détecter le texte entrant ctrl-v coller dans une zone de texte winforms?

Merci!

Répondre

3

Il s'agit d'une question qui fait tant défaut. Vous pouvez simplement définir la propriété MaxLength de la zone de texte et cela empêche tout cela. Duh.

+2

J'étais sur le point de vous réprimander pour avoir condescendu l'OP. Ensuite, j'ai remarqué que vous êtes l'OP. : D –

+0

La seule chose que fait la programmation est qu'elle empêche l'arrogance :) –

Questions connexes