2008年2月12日火曜日

VC#2005 フォームをシングルトンのモードレスにする方法

VC#2005 フォームをシングルトンのモードレスにする方法

フォームのインスタンスがすでに存在するかどうかチェックし、なければ新しいインスタンスを作成するようにします。
VC++2005より簡単です。

//■form1.cs
private void button1_Click(object sender, EventArgs e)
{
Form2.Instance().Show();
}
//■form2.cs
public partial class Form2 : Form
{
/* コメントにする↓
public Form2()
{
InitializeComponent();
}
コメントにする↑ */

// 追加する ↓
private static Form2 instance = new Form2();

public static Form2 Instance()
{
if (instance.IsDisposed)
{
instance = new Form2();
}
Form2.instance.InitializeComponent();
return instance;
}
// 追加する ↑
}

0 件のコメント: