-1

別のフォームを開くフォームが 1 つあります。ユーザーはここに情報を書き込みます。この 2 番目のフォームを閉じるときは、最初のフォームで、以前に追加した情報を使用する必要があります。

(追加される情報は文字列 (電子メール アドレス) であり、最初のフォームのリスト ボックス項目に追加します。)

Close() または Hide() を試しました。しかし、どのような順序であっても、新しいフォームを開いたときに閉じるという問題が発生したり、まったく開かなかったりしました。

4

2 に答える 2

7

値を含むフォームに文字列プロパティを指定できます。プライベート メール フィールドの値を公開するだけです。

例えば:

public class SomeForm : Form
{
    public string Email
    {
        get
        {
            return txtEmail.Text;
        }
    }
}

次に、外部フォームからフォームを表示し、フォームが閉じられたら [電子メール] フィールドに入力された値を読み取ることができます。

using (var form = new SomeForm())
{
    if (form.ShowDialog() == DialogResult.OK)
    {
        string email = form.Email;
        // do something with the email
    }
}
于 2012-11-11T18:36:52.153 に答える
0

から値を取得し、コンストラクターのform1ように渡します。以下のコードを参照してくださいparameterform2

private void button1_Click(object sender, EventArgs e)
{
      string email = listBox1.SelectedItem.ToString();
      Form2 secondForm = new Form2(email);
      this.Hide();
      secondForm.Show();
}

Form2 コンストラクター:

 public Form2(string email)
 {
       textbox2.text = email;
 }
于 2012-11-11T18:53:41.280 に答える