Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Exception bei lesen einer Controleigenschaft aus einem Thread
christof.k
myCSharp.de - Member



Dabei seit:
Beiträge: 160

Themenstarter:

Exception bei lesen einer Controleigenschaft aus einem Thread

beantworten | zitieren | melden

Hallo,

ich habe bereits viel über das ändern von Werten eines Controls über Invoke gelesen und dies auch erfolgreich umgesetzt.

Überraschender Weise bekomme ich eine InvalidOperationException, sobald ich versuche, die Textlänge einer RichTextBox aus einem fremden Thread zu lesen.

Kurz zu meiner Anwendung:
Ich möchte alle Consoleausgaben in diese RichTextBox umleiten.
Dazu erschaffe ich meinen eignene TextWriter, der die RichTextBox im Konstruktor übergeben bekommt und das schreiben übernimmt.
Das schreiben in die RichTextBox mache ich per Invoke, was auch super klappt.
Nun wollte ich die Ausgabe formatieren und wollte dazu die Länge des Textes in der RichTextBox vor und nach dem Einfügen ermitteln. Hier startet nun mein Problem da bei der Zeile

int a = control.TextLength
die Exception auftritt.

Bin über jeden Tip dankbar.

Christof
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo christof.k,

[FAQ] Controls von Thread aktualisieren lassen (Control.Invoke)

herbivore
private Nachricht | Beiträge des Benutzers
christof.k
myCSharp.de - Member



Dabei seit:
Beiträge: 160

Themenstarter:

beantworten | zitieren | melden

Hallo,

danke für den Tip. Ich bin immer davon ausgegangen, dies wäre nur beim Schreiben nötig (dafür gibt es zumindest jede Menge Beispiele, keine für das Lesen von Werten). Deshalb hatte ich immer angenommen, dass Delegates immer typ void sind.

War also eine nette Lernkurve und jetzt klappt alles blendend.

Danke
Christof
private Nachricht | Beiträge des Benutzers