我正在使用以下代码来处理应用程序启动时的错误。
[STAThread]
static void Main()
{
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new NAudioTutorial5());
}
static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
try
{
Exception ex = (Exception)e.ExceptionObject;
MessageBox.Show("Please contact the developers with "
+ "the following information:\n\n" + ex.Message + ex.StackTrace,
"Fatal Error", MessageBoxButtons.OK, MessageBoxIcon.Stop);
System.IO.File.AppendAllText("error.log", ex.Message.ToString() + " " + ex.StackTrace.ToString());
}
finally
{
Application.Exit();
}
}
在Program.cs文件中。在主文件中,我有以下代码来最大化窗体。
private void hello_Load(object sender, EventArgs e)
{
this.TopMost = true;
//this.FormBorderStyle = FormBorderStyle.None;
this.WindowState = FormWindowState.Maximized;
}
因此,当它们是应用程序异常时,messageBox会弹出主窗体窗体后面。如何更改我的代码以在Windows窗体前显示messageBox。我试过了
MessageBox.Show(this, "hello");
但是这个关键字不能用于静态方法。他们是否可以解决这个问题。我想在最大化的窗体前面显示messageBox。