Windows FormsのFormはIDisposableなので、usingで囲って使うことがよくある。
よくある例
using (var f = new Form())
{
f.ShowDialog();
}
ShowDialogだとこれでいいんだが、Showだと問題がある。
よくない例
using (var f = new Form())
{
f.Show();
}
Showメソッドはすぐに処理が返ってくるので、即座にusingを抜けてDisposeされる。
つまり、表示した次の瞬間には消える。
usingを使わず、単にnewしてShowすればいい。
よい例
var f = new Form();
f.Show();
Showメソッドで表示した場合、Formを閉じた時点でリソースも解放されるそうだ(細かいことは未確認)。
みんなはForm.Showをusingで囲むなんてあほなミスしないでね!
一応サンプルコード
.NET 4.6.1で確認したけど、たぶんバージョンによらないと思う。