親フォルダ
using System;
using System.Windows.Forms;

namespace Basic
{
	public partial class Form1 : Form
	{
		public Form1()
		{
			InitializeComponent();
		}

		private void button1_Click(object sender, EventArgs e)
		{
			// フォームのインスタンス作成

			using (Form2 form2 = new Form2())
			{
				// ダイアログとして表示
				DialogResult result = form2.ShowDialog(this);
				if (result == DialogResult.OK)
				{
					Console.WriteLine("OK");
				}
				if (result == DialogResult.Cancel)
				{
					Console.WriteLine("Cancel");
				}

			}
		}

		private void button2_Click(object sender, EventArgs e)
		{
			// 閉じる
			this.Close();
		}
	}
}






using System;
using System.Windows.Forms;

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

		private void button1_Click(object sender, EventArgs e)
		{
			this.Close();
		}
	}
}

フォーム間のコントロール参照
using System;
using System.Windows.Forms;

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

		private void button1_Click(object sender, EventArgs e)
		{
			((Form1)Owner).textBox1.Text = "フォーム間のコントロール参照";

			this.Close();
		}
	}
}

Form1 から Form2 にデータを渡す場合は、Form2 のコンストラクタに引数を作成する


Form2 に AcceptButton を設定