0

form1にテキストボックスがあります。
私がやりたいのは、フォーム1からフォーム2にテキストボックスの値を取得することです。
これどうやってするの?

4

2 に答える 2

1

私が行ったのは、新しいプロジェクトを作成し、2つ目のフォームを追加してから、両方のフォームにテキストボックスを追加し、Form1のボタンでテキストボックスの値をForm2にプッシュすることでした。

これを実現するには、Form2にプロパティを作成し、Form1から設定します。このような:

Form1

public partial class Form1 : Form
{
    Form2 frm2;
    public Form1()
    {
        InitializeComponent();
        frm2 = new Form2();
        frm2.Show(this);
    }

    private void button1_Click(object sender, EventArgs e)
    {
        frm2.ModifyTextBoxValue = textBox1.Text;
    }
}

Form2

public partial class Form2 : Form
{
    public Form2()
    {
        InitializeComponent();
    }

    public string ModifyTextBoxValue
    {
        get { return textBox1.Text; }
        set { textBox1.Text = value; }
    }
}

このようにすると、必要に応じて、同じプロパティを使用してForm2からデータをプルすることもできます。

于 2012-11-26T01:58:30.933 に答える
0

.Tagプロパティを使用できます(ここで私の質問を見てください 。簡単な方法は次のとおりです。form2に別のtextBoxを追加します。

form1でこれを行います。このコードは、texBox.textをform1に保存します

try
{
    private void change_Click(object sender, EventArgs e)
    {
         form1 frm1 = new form();
         frm1.Tag = this.textBox1.text;
         frm1.ShowDialog();
    }
}
catch (Exception ex)
{
   MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

次に、form2をロードするときにこれを記述します。このコードは、texBox2の値をtexBox1の値に置き換えます

string myText = (string)this.Tag;
   this.textBox2.text = myText;
于 2012-11-26T01:38:48.727 に答える