2010-05-18 3 views
0

Je travaille dans un projet de terminal série développé dans VB.NET.Contrôle WinForms recommandé pour beaucoup de texte formaté en lecture seule

J'ai besoin d'afficher beaucoup de données de texte formatées (couleur, styles de police) dans un contrôle en lecture seule (les données série entrantes). Je ne sais pas si c'est une bonne idée d'utiliser le contrôle richtext ou une grille, ou s'il y a un meilleur contrôle par un tiers?

Merci

+1

Maintenant que je termine mon premier projet avec Scintilla Je ne recommande pas ce contrôle. Première: Si vous le faites en lecture seule, il n'accepte pas le texte ajouté par programmation. Deuxièmement: J'ai eu beaucoup de problèmes parce que mon flux de texte arrivait à la fin d'une ligne et que d'étranges caractères commençaient à apparaître. Comme une erreur de dépassement de tampon de ligne. Troisième: Ce projet est simple, pas assez mature, la documentation est très rare et si vous avez besoin de faire quelque chose de non documenté, vous devez télécharger le code source et l'étudier. – RHaguiuda

Répondre

1

Je l'ai utilisé Scintilla.NET pour ce genre de chose avant: http://scintillanet.codeplex.com/

Il est conçu pour être utilisé dans les éditeurs de texte, mais il peut être en lecture seule, et il est assez même rapide pour de grandes quantités de texte. Vous obtenez un contrôle efficace par caractère sur les couleurs et le style de texte de base, mais pas dans la même mesure que le contrôle Rich Edit. Les points négatifs sont qu'il est basé sur un contrôle conçu pour être utilisé à partir du code C++, donc il n'y a pas beaucoup de documentation spécifique à .NET. Et le code .NET est en C#, donc c'est probablement mieux si vous avez une connaissance de passage.

+0

Merci beaucoup pour cette réponse. J'ai téléchargé le Scintilla et ce contrôle est exactement ce dont j'avais besoin. – RHaguiuda

0

Je pense que le RichTextBox serait un bon point de départ puisqu'il est inclus et que vous pourriez passer à un contrôle tiers si vous rencontrez des limitations (je suppose que le coût est important).

Notez s'il vous plaît que cela peut être un peu lent à colorier le texte en fonction de la méthode utilisée. Cet article montre une soi-disant (je ne l'ai pas essayé) moyen plus rapide de le faire:

http://codebetter.com/blogs/patricksmacchia/archive/2008/07/07/some-richtextbox-tricks.aspx

Questions connexes