2017-03-26 18 views
0

2つのフォームがあり、2番目のフォームは最初のフォームがアクティブな間はアクティブになります。最初のフォームを再表示しないフォーム間のデータの受け渡し

Form1のtextBox1.TextからForm2のtextBox1.Textに文字列値を渡す必要があります。

Form2をForm1から再オープンせずにどうしましたか?

+0

あなたは、いくつかのコーンスニペットを提供することができますか? –

+0

@RodrigoAiresどのようなもの?私はちょっと混乱している。なぜなら、関連するコードだけが、テキストボックスが存在することを示しているからだ。つまり、誰かがForm1のtextbox1に入力すると、 Form2を更新することなくForm2のtextBox1に自動的に送信します。 –

+0

申し訳ありませんが、私はあなたの必要性について混乱しています...同じウィンドウで2つの異なるフォームについて話していますか? –

答えて

0

これはあなたの意志ですか?

Form1 form1 = new Form1(); 
Form1 form2 = new Form2(); 

form1.Show(); 
form2.Show(); 

form2.Button1_Click += delegate {form2.textbox1.Text = form1.textbox1.Text}; 
+0

いいえ、私はfrom1からform2を開いていますが、form1は表示されていません。 Form1を再び開くことなく、form2の文字列をform1に渡したいと思います。 –

0

これはいかがですか? Form1上に今

class Form1 : Form 
{ 
    void ButtonOpenForm2_Click(object s, EventArgs ea) 
    { 
     this.form2 = new Form2(this); 
     this.form2.Show(); 
    } 
} 

class Form2 : Form 
{ 
    public Form2(Form1 form1) 
    { 
     form1.textbox1.TextChanged += delegate {this.textbox1.Text = form1.textbox1.Text}; 
    } 
} 

static void Main() 
{ 
    Form1 form1 = new Form1(); 

    form1.Show(); 
} 
0
public class Form2 : Form 
{ 
    //This property will hold the text, so populate the textbox from it 
    string TextProperty {get;set;} 

    public form2(string textFromForm1) 
    { 
     TextProperty = textFromForm1; 
    } 
} 

Form2 form2 = new Form2(textbox1.Text); 
    form2.ShowDialog(); 
関連する問題