为什么在创建“ c#Windows Forms应用程序”时会生成此代码?
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
我问的原因是因为我从未见过。就像这样,我习惯于创建项目并且它们为空。
static class Program
{
static void Main()
{
}
}
我以前从未见过“ STAThread”或“ Application.etc ...”这样的东西。
我刚升级到Visual Studio 2019。
答案 0 :(得分:1)
您使用旧的Visual Studio版本执行的所有解决方案/项目可能都是控制台/命令行项目。使用Visual Studio创建的是一个WindowsForm项目(创建项目时,默认情况下会打开一个具有空表单的模板),这是不同的,因为它使用的是“图形”环境,而不是您熟悉的黑白控制台。
具体来说,代码的作用是:
Application.EnableVisualStyles();
为应用程序启用视觉样式。视觉样式是构成操作系统主题的颜色,字体和其他视觉元素。 (TensorFlow's map_fn only runs on CPU)。
Application.SetCompatibleTextRenderingDefault(false);
是处理与旧框架之间某些兼容性的属性。如果您的应用程序未从.NET Framework 1.0或.NET Framework 1.1应用程序更新,则将其保留为默认值'false'。如果您不知道我在说什么......将其保留为默认值'false':D
Application.Run(new Form1());
启动应用程序时,它将启动名为“ Form1”的表单(您可以在解决方案资源管理器中看到它)。
对于STAThread的解释,我将您从@Raymond Chen退还给MSDN LINK,但是我认为这对您来说有点太难了,只是暂时认为WindowsForm应用程序“必须”:)
答案 1 :(得分:0)
这是Visual Studio生成的代码,可在任何winform项目中的Program.cs中自动运行 这是代码Program.cs:
sudo pip install ./bench