启动代码未运行
本文关键字:运行 代码 启动 | 更新日期: 2023-09-27 18:29:14
在我的应用程序中,我让它调用MainForm类中名为OnStart
的启动方法,该方法的定义如下:
public void OnStart()
{
//code
}
当我从Main
方法调用它时,它不会运行。我做错了什么?(哦,和OnStop
方法一样。)
这是我的程序.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace Logger
{
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
MainForm mainForm = new MainForm();
Application.Run(mainForm);
AppDomain.CurrentDomain.ProcessExit += new EventHandler (mainForm.OnStop);
mainForm.OnStart();
}
}
}
Application.Run
将挂起,直到表单关闭,因此您需要在它之前调用OnStart
,在它之后调用OnStop
。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace Logger
{
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
MainForm mainForm = new MainForm();
mainForm.OnStart();
Application.Run(mainForm);
mainForm.OnStop()
}
}
}
您可能希望在窗体的构造函数中运行OnStart()方法。直到窗体关闭,才会调用当前代码。与form.Close()的事件处理程序相同;
我建议您从MainForm_Load事件(或构造函数)调用这些方法。在关闭Form.之前,Application.Run()方法之后不会发生任何事情
不能在Application.Run(mainForm);
之后添加cals,它将无法按预期工作。例如,添加要在Form
的OnLoad
覆盖上运行的代码。