Visual C# 2010 アプリケーションがあり、MainWnd
他のツール ウィンドウとダイアログで呼び出されるメイン フォームが 1 つあります。他のツール ウィンドウがメイン フォームと「会話」し、そのメソッドを呼び出せるようにしたいと考えています。しかし、それには のインスタンスが必要でありMainWnd
、これらのフォームは一度に 1 つしか作成されないため、 のすべてのインスタンスを列挙しMainWnd
たり、最初のインスタンスを探したりする必要はありません。MainWnd
そのため、他のウィンドウから簡単にコードを呼び出せるように、メイン アプリケーション フォームをシングルトンにしたいと考えています。
シングルトンにしたいメインフォームのコードは次のとおりです。
using System;
using System.ComponentModel;
using System.Windows.Forms;
namespace MyLittleApp
{
public partial class MainWnd : Form
{
public MainWnd()
{
InitializeComponent();
}
public void SayHello()
{
MessageBox.Show("Hello World!");
// In reality, code that manipulates controls on the form
// would go here. So this method cannot simply be made static.
}
}
}
SayHello()
次のように書くだけで、別のフォームから呼び出せるようにしたいと考えています。
MainWnd.SayHello();
どうすればこれを達成できますか?