KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have a GUI-thread for my form and another thread that computes things. The form has a richtTextBox. I want the worker-thread to pass strings to the form, so that every string is displayed in the textbox. Everytime a new string is generated in the worker thread I call an event, and this should now display the string. But I don't know how to pass the string! This is what I tried so far: ///// Form1 private void btn_myClass_Click(object sender, EventArgs e) { myClass myObj = new myClass(); myObj.NewListEntry += myObj_NewListEntry; Thread thrmyClass = new Thread(new ThreadStart(myObj.ThreadMethod)); thrmyClass.Start(); } private void myObj_NewListEntry(Object objSender, EventArgs e) { this.BeginInvoke((MethodInvoker)delegate { // Here I want to add my string from the worker-thread to the textbox! richTextBox1.Text += "TEXT"; // I want: richTextBox1.Text += myStringFromWorkerThread; }); } ///// myClass (working thread...) class myClass { public event EventHandler NewListEntry; public void ThreadMethod() { DoSomething(); } protected virtual void OnNewListEntry(EventArgs e) { EventHandler newListEntry = NewListEntry; if (newListEntry != null) { newListEntry(this, e); } } private void DoSomething() { ///// Do some things and generate strings, such as "test"... string test = "test"; // Here I want to pass the "test"-string! But how to do that?? OnNewListEntry(EventArgs.Empty); // I want: OnNewListEntry(test); } }
Tags (comma-separated)
Save Edits
Cancel