別のフォームを開くフォームが 1 つあります。ユーザーはここに情報を書き込みます。この 2 番目のフォームを閉じるときは、最初のフォームで、以前に追加した情報を使用する必要があります。
(追加される情報は文字列 (電子メール アドレス) であり、最初のフォームのリスト ボックス項目に追加します。)
Close() または Hide() を試しました。しかし、どのような順序であっても、新しいフォームを開いたときに閉じるという問題が発生したり、まったく開かなかったりしました。
値を含むフォームに文字列プロパティを指定できます。プライベート メール フィールドの値を公開するだけです。
例えば:
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
}
}
から値を取得し、コンストラクターのform1
ように渡します。以下のコードを参照してくださいparameter
form2
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;
}