public partial class Form1 : Form
{
protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
}
}
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
当我运行上面的代码时,它调用了方法protected override void WndProc(ref Message m)
当我更改下面的代码时
Form1 form1 = new Form1();
Application.Run();
它没有调用方法protected override void WndProc(ref Message m)
任何人都能解释我为什么会这样吗?
答案 0 :(得分:5)
当您调用Application.Run()时,您正在运行没有表单的应用程序。
请参阅 http://msdn.microsoft.com/en-us/library/system.windows.forms.application.run.aspx 为了区别。
您将表单作为参数传递给Application.Run函数调用的顶部,它允许它使用您的表单,第二种情况是它不知道使用什么表单。
答案 1 :(得分:1)
当您调用Application.Run()时,您正在运行没有表单的应用程序。
答案 2 :(得分:0)
为什么要这样,如果在第二个代码示例中没有在App中显示和使用的真实表单?