こんな感じかな。 public partial class Form1 : Form { private List<string> lst; public Form1() { InitializeComponent(); lst = new List<string>(); } private void Form1_Load(object sender, EventArgs e) { using(var f = new Form2()) { f.ShowDialog(); this.lst = f.lst; } label1.Text = string.Join(",", lst); } } public partial class Form2 : Form { public List<string> lst; public Form2() { InitializeComponent(); lst = new List<string>(); } private void button1_Click(object sender, EventArgs e) { lst.Add("test1"); lst.Add("test2"); lst.Add("test3"); lst.Add("test4"); Close(); } }
Form1とForm2があります。Form1からForm2を生成しています。 Form1 private void Form1_Load(object sender, EventArgs e) { textBoxAddress.Text = ""; textBoxZipCode.Text = ""; var f2 = new Form2(this); f2.ShowDialog(); } Form2ではテキストボックスが3つあります。テキストボックスにユーザーが値を入力します。 textBoxName1.Text = "YAMADA"; textBoxName2.Text = "TARO"; textBoxSex.Text = "MALE"; var lst = new list<string>(); lst.Add(textBox1.Text); lst.Add(textBox2.Text); lst.Add(textBox3.Text); ここからがやりたい事なのですが、Form2でボタンが押された時、このlstをForm1側に渡したいです。 やりたい事: ・Form2のリストをForm1に渡す ・Form1でリストを受け取る ・SQLを生成。select * from Master where name1 = lst[0] and name2 = lst[1] and sex = lst[2]みたいなSQLを生成して問合せ ・必ずデータが見つかるという前提 ・Form1のtextBoxAddress、textBoxZipCodeにデータベースに問い合わせて見つかった値を入力 といった事がやりたいです。 わからない事: ・リストをForm1にわたす方法がわかりません。 ・form1では受け取った後にSQLを生成して問い合わせるという事をしたいのですが、Form2からリストを受け取ったら発動するようなイベントの作成方法 宜しくおねがいします。