これは私の最初のファイル、Form1.csを次のとおりです。イベントと委譲モデルを使用して、ファーストクラスのメソッドから別のクラスへの出力を渡すにはどうすればよいですか?
namespace EventsNDelegates
{
public delegate void DelEventHandler();
public partial class Form1 : Form
{
public event DelEventHandler add;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
add += new DelEventHandler(Initiate);
//invoke the event
add();
}
public void Initiate()
{
textBox1.Text = "Hello";
}
}
}
と、これは私の第二のファイルのClass1.csです:
namespace EventsNDelegates
{
class Class1
{
}
}
と、これは私のフォームデザインである:
今すぐボタンをクリックすると、イベントがフォーム1で発生しています。
私が必要とするのは、イベントがclass1.csのボタンform1.csをクリックして出力され、出力がform1のテキストボックスに表示されることです。
class1にform1への参照がない場合は、直接行うことはできません。しかし、私は両方のクラスの参照を保持する別のクラス(おそらく単にプログラム)があると仮定します。情報を転送するには、このクラスで作業する必要があります。 – Kilazur
私は理解していません。あなたはclass1からform1のイベントを呼び出す、またはclass1のイベントを購読し、これをform1で呼び出すとしますか? –
これらのクラスは両方とも同じ名前空間の下にあります。フォームはform1.csにあります。ここにはテキストボックスとボタンもあります。今form1.csのボタンをクリックすると、class1.csのイベントが発生し、そのイベント(1から20までのカウンタのような)でループが実行され、1から20までのすべての値が表示されます。 form1.cs @Kilazurのテキストボックス –