C# 不使用';不要从形式开始
默认情况下,创建Windows c#应用程序时,首先打开一些表单C# 不使用';不要从形式开始,c#,C#,默认情况下,创建Windows c#应用程序时,首先打开一些表单 static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } 在创建任何表单之前,是否可以在Main函数中执行一些操作-创建一些对象,执行这些对象的一些方法,并根据结果最终创建一些表单,或
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
在创建任何表单之前,是否可以在Main函数中执行一些操作-创建一些对象,执行这些对象的一些方法,并根据结果最终创建一些表单,或者在其他情况下根本不创建任何表单-关闭应用程序?当然。您可以用任何方式修改static void Main()。当然可以。您可以按任何方式修改static void Main()。当然可以。你试过了吗
static void Main()
{
// you can add code here
Application.EnableVisualStyles();
// and/or here
Application.SetCompatibleTextRenderingDefault(false);
// and so on...
Application.Run(new Form1());
}
所以可能是这样的:
static void Main()
{
var someObject = SomeFactory.Fetch(someCriteria);
if (someObject.SomeValue == false)
Application.Exit();
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
或许:
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
var someObject = SomeFactory.Fetch(someCriteria);
if (someObject.SomeValue)
Application.Run(new FormForValueBeingSet());
else
Application.Run(new FormForValueNotBeingSet());
}
代码就是代码,您可以修改它并添加/编辑/删除任何您想要的内容。它是WinForms应用程序这一事实并没有改变应用程序启动时执行
static void Main()
的基本前提。方法中的任何内容都将被执行。当然是。你试过了吗
static void Main()
{
// you can add code here
Application.EnableVisualStyles();
// and/or here
Application.SetCompatibleTextRenderingDefault(false);
// and so on...
Application.Run(new Form1());
}
所以可能是这样的:
static void Main()
{
var someObject = SomeFactory.Fetch(someCriteria);
if (someObject.SomeValue == false)
Application.Exit();
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
或许:
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
var someObject = SomeFactory.Fetch(someCriteria);
if (someObject.SomeValue)
Application.Run(new FormForValueBeingSet());
else
Application.Run(new FormForValueNotBeingSet());
}
代码就是代码,您可以修改它并添加/编辑/删除任何您想要的内容。它是WinForms应用程序这一事实并没有改变应用程序启动时执行
static void Main()
的基本前提。方法中的任何内容都将被执行。是的,您可以。
您可以通过在表单创建代码之前放置一些代码来测试这一点
static void Main()
{
DateTime now = DateTime.Now;
DateTime tomorrow = now.AddDays(1);
if (DateTime.Compare(now, tomorrow) == 0)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
。。。然后在Main()的开头放置一个断点
。。。然后逐步查看代码以查看其效果。是的,您可以。 您可以通过在表单创建代码之前放置一些代码来测试这一点
static void Main()
{
DateTime now = DateTime.Now;
DateTime tomorrow = now.AddDays(1);
if (DateTime.Compare(now, tomorrow) == 0)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
。。。然后在Main()的开头放置一个断点
。。。然后逐步检查代码,看看它有什么效果。至少尝试一下。。。我是说真的?至少试试。。。我的意思是认真的?+1,但可能值得一提的是,从设计器生成的代码中添加/编辑/删除任何您想要的内容都不是一个好主意:)@Moo Juice-我同意您的动机……但我越想这个问题,这个问题就越愚蠢。我们可以讨论设计器代码,但是我们怎么能忽略STAThread,然后是COM和线程,那么消息泵呢?明白我的意思吗?@P.Brian.Mackey,你说得对。如果OP不确定是否要在这里添加代码,那么OP已经超出了他的深度,需要坐下来读一本好书!使问题复杂化的是,WPF在默认情况下执行一个XAML文件作为条目对象。+1,但值得一提的是,从设计器生成的代码中添加/编辑/删除任何您想要的内容都不是一个好主意:)@Moo Juice-我同意您的动机……但我越想它,这个问题就越愚蠢。我们可以讨论设计器代码,但是我们怎么能忽略STAThread,然后是COM和线程,那么消息泵呢?明白我的意思吗?@P.Brian.Mackey,你说得对。如果OP不确定是否要在这里添加代码,那么OP已经超出了他的深度,需要坐下来读一本好书!为了使问题复杂化,WPF默认执行一个XAML文件作为条目对象。ohaiyo!我在这里看不到足够多的日本人!我在这里看不到足够多的日本人。