2010-06-14 5 views
0

Cette question concerne WinForms RichTextbox.Forcer les barres de défilement RichtextBox à rafraîchir

J'ai une RichTextbox avec la propriété ScrollBars définie sur Vertical.

Je modifie son contenu RTF à partir du code et parfois la barre de défilement verticale apparaît désactivée - quand elle devrait être activée. Cela ne devrait jamais arriver - la barre de défilement devrait être activée ou pas du tout affichée. (J'ai eu un problème similaire dans mon application VB6, quand la barre de défilement n'apparaissait parfois pas du tout quand il le fallait).

Existe-t-il un moyen de forcer l'actualisation des barres de défilement RichTextbox, via PInvoke ou de toute autre manière pour résoudre ce problème?

Merci.

Répondre

0

J'ai finalement pensé à elle! Au cas où quelqu'un a besoin de ce:

1) Créer un nouveau contrôle qui hérite du contrôle RichTextBox

2) Ajouter ce code:

Public Sub FixScrollbars() 
    RecreateHandle() 
End Sub 

3) Appelez chaque fois que vous modifiez la propriété .RTF .

-1

Avez-vous essayé

this.richTextBox1.ScrollBars = RichTextBoxScrollBars.ForcedVertical; 
+0

Oui, cela fonctionne, bien sûr. Mais je veux que la barre de défilement se cache quand ce n'est pas nécessaire. – Jiri

+0

Ne fonctionne pas, oui si force la barre de défilement à être visible, mais ne le fait pas rafraîchir, donc c'est là mais a le faux décalage de défilement/taille etc – trampster

Questions connexes