0

form1.cs に存在する別のクラスから form1 クラス イベントを呼び出すにはどうすればよいでしょうか。

public partial class form1 : form
{
// an event to change the text of a textbox
}

public class A
{
sendtext()
{
//text to be sent to the texbox
// the text is created as a output of a thread
}
4

2 に答える 2

2

Aクラスでイベントを作成し、 からサブスクライブする必要がありますform1

class A
{
   public event Action<string> TextReady;

   private OnTextReady(string text)
   {
      var ev = TextReady;
      if(ev!=null) ev(text);        
   }
}

class Form1
{
   private _a = new A();
   public Form1()
   {
      _a.TextReady+= (text)=> textBox.Text = text;
   }
}

おそらくクロススレッドの制限に出くわすでしょうが、それは別の質問です。コメントを書いてください。

于 2012-10-25T12:30:42.950 に答える
1

テキストはいつでも直接変更できます。

public partial class form1 : form
{
    public string TextboxText 
    {
        get { return txtBox.Text; }
        set { txtBox.Text = value; }
    }
}

次に、次のようにします。

form1.TextboxText = "My new text";
于 2012-10-25T13:40:26.823 に答える