0

ここに私のサンプルコードがあります:

//------this is just GUI Form which is having RichTextBox (Access declared as Public)
//

public partial class Form1 : Form
{
   public void function1()
   {
      ThreadStart t= function2;
      Thread tStart= new Thread(t);
      tStart.Start();
   }

   public void function2()
   {
   //Calling function3 which is in another class
   }
}


//------this is just Class, not GUI Form
class secondClass: Form1
{

   public void function3()
   {
      Form1 f =new Form1();
      //Updating the RichTextBox(which is created in Form1 GUI with Public access)
      f.richTextBox1.AppendText("sample text");
   }

}

richTextBox1コントロールとコードをエラーなしで実行してみましたrichtextboxが、更新されていません。

richTextBox別のクラス関数から頻繁にステータスを更新するにはどうすればよいですか?

4

2 に答える 2

0

RichTextBox を Form1 から function3 に渡すだけです

    //function inside form1
    public void function2() {
        function3(this.richTextBox1);
    }

次に、invoke を使用して別のスレッド/クラスから richTextBox を更新します

    //function in another thread
    public void function3(RichTextBox r)
    {
        r.InvokeIfRequired((value) => r.AppendText(value), "asd");
    }
于 2012-12-26T13:28:12.593 に答える