C# 启动代码没有运行?
在我的应用程序中,我让它调用MainForm类中名为C# 启动代码没有运行?,c#,C#,在我的应用程序中,我让它调用MainForm类中名为OnStart的启动方法,该方法的定义如下: public void OnStart() { //code } 当我从Main方法调用它时,它不会运行。我做错了什么? (哦,这和OnStop方法是一样的。) 这是我的程序 using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; namespace Lo
OnStart
的启动方法,该方法的定义如下:
public void OnStart()
{
//code
}
当我从Main
方法调用它时,它不会运行。我做错了什么?
(哦,这和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();
Application.Run(mainForm);
AppDomain.CurrentDomain.ProcessExit += new EventHandler (mainForm.OnStop);
mainForm.OnStart();
}
}
}
您可能希望从表单的构造函数中运行OnStart()方法。在窗体关闭之前,不会调用当前代码。与form.Close()的事件处理程序相同
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()
}
}
}
我建议您从MainForm_Load事件(或构造函数)调用这些方法。在关闭表单之前,Application.Run()方法之后不会发生任何事情。您不能在
Application.Run(mainForm)之后添加CAL代码>,它将无法按预期工作。
例如,添加要在表单
的OnLoad
覆盖上运行的代码 这很好用!我不知道代码会在应用程序之后“暂停”。运行直到应用程序关闭。