//Invoke-Methode zum Threadübergreifenden Verändern des Nachrichtenverlaufes public void AddMessageFromClient(string input) { if (Nachrichtenverlauf.InvokeRequired) //Prüfung auf Änderungsanfrage des Threads im Mainthread { //Nachrichtenverlauf will ändern erneuter Aufruf der Methode Nachrichtenverlauf.Invoke((MethodInvoker)(() => AddMessageFromClient(input))); } else //Tritt ein wenn Invoke auf Nachrichtenverlauf auftritt { //Thread.Sleep(1000); //lässt Thread warten SetNachrichtenVerlauf(input); //ruft Methode der View auf und übergibt string } }
//Methode zum anfügen verschiedener strings in den Nachrichtenverlauf public void SetNachrichtenVerlauf(string viewText) { Nachrichtenverlauf.AppendText(viewText); //Fügt neuen string an den vorhandenen string im Textfeld Nachrichtenverlauf Nachrichtenverlauf.ScrollToCaret(); //sorgt für ein Autoskroll im Textfeld Nachrichtenverlauf }