フォームには、form1とform2という2つのフォームがあります。 2つのフォームが開きます。 form2には、1つのテキストボックス(txt2)と1つのボタン(btn2)があります。 form1には1つのテキストボックス(txt1)があります。ユーザーがtxt2に何かを入力してbtn2をクリックすると、txt2のテキストがtxt1に追加されます。これはあなたが欲しいものですか?
はい場合:
// Declare a delegate
public delegate void GetValue(string value);
// Declare event with delegate
public event GetValue btn2_Clicked;
その後、Form2の中で、あなたがそのイベントを処理する関数を作成します: のForm2で、あなたは、デリゲートを作成する必要がある関数の名前は、イベントの名前と同じです、あなただけの宣言して接頭辞 "On"を追加します。このように:その後
public void Onbtn2_Clicked(string value)
{
if (btn2_Clicked != null)
{
btn2_Clicked(value);
}
}
、BTN2クリックイベントでは、あなたのイベントを作成したばかりの上昇:
private void btn2_Click(object sender, EventArgs e)
{
Onbtn2_Clicked(txt2.Text);
}
[OK]を、それはForm2の中で行われています。終了するのカムバックをForm1: 私は、ユーザーがそうBTN1クリックイベントでは、Form1に(BTN1)ボタンをクリックしたときのForm2が開かれたと仮定します。
private void btn1_Click(object sender, EventArgs e)
{
// Create form2
Form2 frm2 = new Form2();
// Handle btn2 click
frm2.btn2_Clicked += new Form2.GetValue(frm2_btn2_Clicked);
// Show form2
frm2.Show();
}
void frm2_btn2_Clicked(string value)
{
// When btn2 is clicked, the text in txt2 will be assign to txt1
txt1.Text = value;
}
とテキストがForm1の
どう
出典
2012-04-30 02:29:07
TPL
にテキストを入力してください1仕事はありません。 –
var frm = Application.OpenForms ["Form1"] ??新しいForm1(); frm.body.Text + = "" + text; –
@rcarter: 'frm'は間違った静的型を持ちます。メンバー' body'の検索が失敗します。 –