J'ai un Windows Form avec un RichTextBox dessus. Le contenu de RichTextBox est écrit dans un champ de base de données limité à 64 Ko de données. Pour mon but c'est beaucoup plus que suffisamment de texte pour stocker.Windows.Forms Contrôle RichTextBox - Évitez d'insérer des données volumineuses
J'ai défini la propriété MaxLength pour éviter d'insérer plus de données que ce qui est autorisé.
rtcControl.MaxLength = 65536
Cependant, cela limite seulement la quantité de caractères que l'on est autorisé à mettre dans le texte. Mais avec la surcharge de formatage de la Rtf je peux taper plus de texte que je devrais être autorisé à. Cela devient même pire si j'insère une grande image, ce qui n'augmente pas du tout la longueur de texte mais la longueur Rtf augmente beaucoup.
Pour le moment, je vérifie la longueur de la propriété Rtf de richttextboxes dans l'événement FormClosing et affiche un message à l'utilisateur s'il est trop grand. Cependant, ce n'est qu'une solution de contournement parce que je veux interdire de mettre plus de données que le contrôle (comme dans une zone de texte si vous dépassez la propriété MaxLength rien n'est inséré dans le contrôle et que vous entendez le bip par défaut). toute idée comment aCHIVE ce
je l'ai déjà essayé:.
au moyen d'un contrôle personnalisé qui prolonge la richtextbox et les ombres e propriété Rtf pour intercepter le insertation Mais il semble que ce ne soit pas exécuté si je ajouter du texte
Même l'événement TextChanged ne se déclenche pas si je tape smth. dans le contrôle.
Je ne l'ai pas encore essayé, mais pourquoi utilisez-vous un stringbuilder dans ce cas? Est-ce que j'obtiens une meilleure performance par rapport à une corde? –
@SchlaWiener - Oui, probablement la chaîne serait mieux. Au départ, je pensais utiliser le StringBuilder pour ajouter le nouveau contenu RTF, mais j'ai abandonné cette idée en faveur de l'approche plus simple de "copier tout". – itsmatt