我正在创建一个简单的 Windows 窗体应用程序,该窗体在初始化时创建多个新对象,在某些情况下(当出现错误时)向用户显示带有一些文本的消息框对话框。
我的问题是,如果出现错误,消息对话框会多次显示。在检查为什么会发生这种情况时,我发现 Windows 窗体应用程序的构造函数被多次调用,确切地说是四次。不知怎的,我不认为这是正常的行为......
我的应用程序包含Main()
一个 MainWindow.cs 文件的内部;
public MainWindow()
{
InitializeComponent();
Setup();
}
private void Setup()
{
stuff = new Stuff(this);
}
public static void Main()
{
Application.ThreadException += Application_ThreadException;
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
Application.Run(new MainWindow());
}
在构造函数内部Stuff
是MessageDialog
显示的位置。
在 I 的构造函数中添加断点MainWindow()
可以看到它被多次调用。
有人能告诉我为什么会这样吗?我是否可以做些什么来防止它发生?
我试图通过使用变量来抑制对话框,boolean
但是由于正在重新创建对象,所以我不能这样做(无论如何也不应该这样做......)