首页 > 解决方案 > 为什么我的 C# Windows 窗体应用程序会生成此代码?

问题描述

为什么在我创建“c# Windows 窗体应用程序”时会生成此代码?

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。

标签: c#visual-studio

解决方案


您使用旧版 Visual Studio 执行的所有解决方案/项目可能都是控制台/命令行项目。您使用 Visual Studio 创建的是一个 WindowsForm 项目(当您创建项目时,它默认打开一个带有空表单的模板),这是不同的,因为它使用“图形”环境而不是您熟悉的黑白控制台。

具体来说,代码的作用是:

    Application.EnableVisualStyles();

为应用程序启用视觉样式。视觉风格是构成操作系统主题的颜色、字体和其他视觉元素。(MSDN 链接)。

    Application.SetCompatibleTextRenderingDefault(false);

是处理与旧框架的某些兼容性的属性。如果您的应用程序不是从 .NET Framework 1.0 或 .NET Framework 1.1 应用程序更新的,请将其保留为默认值“false”。如果您不知道我在说什么.... 将其保留为默认值“假”:D

    Application.Run(new Form1());

当您的应用程序启动时,它会启动名为“Form1”的表单(您可以在解决方案资源管理器中看到它)。

对于 STAThread 的解释,我将您退回到@Raymond Chen评论中的链接,但我认为这对您来说有点太难了,只是认为这是 windowsForm 应用程序现在的“必须”:)


推荐阅读