VB.net Timer durch RichTextBox Scrollbar stoppen?

Gast #7243463
Lesenswert?

Hi, es geht um folgendes:

in der Form1 werden in einer RichTextBox Zustandsmeldungen von einem COM 
Port Gerät angezeigt.

Vom Gerät kommt abwechselnd
1
Aktueller Status:
und die entsprechende Meldung z.B.
1
Übertemperatur

so, nun gibt es eine Form2, in der die jeweilige Beschreibung zu dem 
Fehler ebenfalls in einer RichTextbox angezeigt wird.

Das ganze sieht in einem Timer der zweiten Form so aus:
1
If Form1.RichTextBox1.Text.Contains("Übertemperatur") Then RichTextBox1.Text = System.IO.File.ReadAllText("PfadZurFehlerbeschreibung\übertemperatur.txt")

Die Beschreibung wird dann in der zweiten Form in die RichTextBox 
geladen.

Nun ist das Problem:
Wenn man bei längeren Fehlerbeschreibungen in der Textbox nach unten 
scrollt, springt die Textbox immer wieder nach oben, weil durch das 
abwechselnde
"Aktueller Status" und "Übertemperatur" in der Form1 die 
Fehlerbeschreibung immer wieder neu geladen wird.


- Kann man erkennen wenn der Nutzer die Scrollbar der Richtextbox 
benutzt, und den Timer dadurch anhalten?

- Wenn ich den Code nicht in den Timer, sondern in "FormLoad" schreibe, 
wird die Fehlerbeschreibung manchmal nicht geladen, falls der Nutzer die 
Form öffnet, während gerade
1
Aktueller Status
 angezeigt wird.

- Welche anderen Optionen gäbe es?

Ein anhalten des Receive Events des SerialPorts o.ä. ist keine Option, 
da hier mehr geschieht, als nur die Statusanzeige.

Vielen Dank für eure Hilfe
Gast #7243489
Lesenswert?

https://learn.microsoft.com/de-de/dotnet/api/system.windows.forms.richtextbox.vscroll?view=windowsdesktop-6.0


Und dann mach was. ;)


Public Class Form1

  Private Sub RichTextBox1_HScroll(sender As Object, e As 
System.EventArgs) Handles RichTextBox1.HScroll

  End Sub

  Private Sub RichTextBox1_VScroll(sender As Object, e As 
System.EventArgs) Handles RichTextBox1.VScroll

  End Sub

End Class

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren