2008/07/05(Sat) 22:59:16 編集(投稿者)
> 自作したダイアログを他のコントロールのようにVSのツールボックスに表示することはできるでしょうか?
OpenFileDialog等が存在することから工夫すれば可能だとみられます。(あれはComponentか…)
ただ、Formからどのように登録される状態に持って行くのかまでは存じません。
> それと、クリックイベントでダイアログを作成して表示させる場合、Dispose() は必要ありませんか?
Clickイベントで毎回newするのであれば、ClickイベントにDisposeが必要でしょう。
例示されているような使い方であれば、using構文をお薦めします。
private void buttonOpen_Click(object sender, EventArgs e)
{
using(MyDialog myDialog = new MyDialog())
{
DialogResult dr = myDialog.ShowDialog();
if (dr == DialogResult.OK)
MessageBox.Show("User clicked OK button");
else if (dr == DialogResult.Cancel)
MessageBox.Show("User clicked Cancel button");
}
}
> コンストラクタで作成した場合は、
デフォルトのFormだと×ボタンで閉じると勝手にDisposeされてしまい、再利用できませんが、大丈夫ですか?
> 前者と後者、どちらが適切でしょうか?
場合によりけりです。