Laden...

[gelöst] RichTextBox scrollt automatisch mit

Erstellt von Till-H vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.606 Views
T
Till-H Themenstarter:in
75 Beiträge seit 2007
vor 14 Jahren
[gelöst] RichTextBox scrollt automatisch mit

Hallo,

ich habe eine Richtextbox, in der ich Syntaxhighlighting vornehme.


foreach (Match keyWordMatch in myRegex.Matches(richTextBoxLogfile.Text))
                    {
                        richTextBoxLogfile.Select(keyWordMatch.Index, keyWordMatch.Length);
                        richTextBoxLogfile.SelectionColor = actHighlightObject.HightlightColor;
                        richTextBoxLogfile.SelectionFont = new Font(richTextBoxLogfile.Font, FontStyle.Bold);
                    }

Jetzt ist das Problem: Wenn ich in der Richtextbox einmal Text markiert habe und die Methode dann aufgerufen wird, scrollt die Richtextbox automatisch mit der wechselnden Selection mit.
Jemand eine Idee, wie ich es löschen kann? Stehe voll auf dem Schlauch!

Viele Grüße & danke

49.485 Beiträge seit 2005
vor 14 Jahren

Hallo Till-H,

eigentlich sollte die Box nicht mitscrollen. Aber wenn sie es doch tut, kannst du mit ScrollToCaret am Ende an de gewünschte Position (zurück)scrollen.

Siehe [Tutorial] Einfaches Keyword-Highlighting für eine möglicherweise bessere Möglichkeit, die farbliche Markierung vorzunehmen.

herbivore

T
Till-H Themenstarter:in
75 Beiträge seit 2007
vor 14 Jahren

Hallo herbivore,

das ist richtig, mache ich auch so. Problem ist, das in der Textbox ca 14000Zeilen sind. Man sieht also, wie die Textbox die ganze Zeit mitscrollt. Es scrollt also in einem Affenzahn durch den Text.

Gruß

1.665 Beiträge seit 2006
vor 14 Jahren

Begin/EndUpdate(); hilft dir da wahrscheinlich

T
Till-H Themenstarter:in
75 Beiträge seit 2007
vor 14 Jahren

Begin/EndUpdate(); hilft dir da wahrscheinlich

Hallo Junky,

auch das habe ich mir schon gedacht, leider hat die RichTextBox diese Methoden nicht. Kann also nicht benutzt werden 😦

49.485 Beiträge seit 2005
vor 14 Jahren

Hallo JunkyXL,

Begin/EndUpdate gibt es nur bei Listen-Controls wie ListView u.ä.

herbivore

T
Till-H Themenstarter:in
75 Beiträge seit 2007
vor 14 Jahren

Siehe
>
für eine möglicherweise bessere Möglichkeit, die farbliche Markierung vorzunehmen.

Dein Link hat das Problem nun doch gelöst. Ich habe nicht die Syntaxhighlighting Methode, aber die "BeginUpdate" und die "EndUpdate" Funktion daraus benutzt. Nach dem Endupdate muss ich zwar noch ein "Invalidate()" aufrufen, aber es funktioniert!
Vielen dank euch allen 😃

Grüße