我有一个 Visual C# 2010 应用程序,它有一个MainWnd
与其他工具窗口和对话框一起调用的主窗体。我希望其他工具窗口能够与主窗体“对话”,并调用其方法。但这需要一个 的实例MainWnd
,并且由于在任何给定时间只会创建这些表单中的一个,因此我没有理由枚举所有实例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();
我怎么能做到这一点?