2009-08-16 8 views
0

J'ai une zone de texte riche avec un tas de texte. Je voudrais en quelque sorte le faire se développer pour s'adapter à tout le texte sans montrer les barres de défilement. Je voudrais que la largeur reste standard et que la hauteur augmente. Y a-t-il un bon moyen de le faire? J'ai prévu de boucler et d'ajouter un pixel à sa hauteur à chaque fois ... puis de vérifier si les barres de défilement sont visibles. Il n'y a pas de moyen simple de le faire dans vb.net que je peux trouver sans utiliser les méthodes spécifiques à Windows API.Winforms zone de texte autoheight

Répondre

0

La façon dont je ferais ceci est en considérant la propriété SelectionStart. Si SelectionStart est x ou un multiple de x alors j'augmenterais ma taille.

textBox.Multiline = true; 
private void textBox_TextChanged(object sender, EventArgs e) 
     { 
      if (textBox.SelectionStart % 20 == 0) 
      { 
       textBox.Height += 20; 
      } 
     } 
+1

Ce code indique à peu près si l'index du texte actuellement sélectionné est un multiple exact de 20 (caractères), puis augmente le RichTextBox de 20 pixels. Cela ne semble pas une solution terriblement stable. –

+0

20 peut être remplacé par un nombre qui décide majestiq. Mais l'idée essentielle de la réponse est de faire comprendre à majestiq comment cela peut se faire. –

Questions connexes