Почему мое приложение C # Windows Forms генерирует этот код? - PullRequest
0 голосов
/ 03 мая 2019

Почему этот код генерируется, когда я создаю "приложение Windows Forms c #"?

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.

Ответы [ 2 ]

1 голос
/ 03 мая 2019

вероятно, все решения / проекты, которые вы делаете со своей старой версией Visual studio, были проектами Console / CommandLine.В Visual Studio вы создаете проект WindowsForm (когда вы создаете проект, он по умолчанию открывает шаблон с пустой формой), который отличается тем, что он использует «графическую» среду вместо черно-белой консоли, с которой вы знакомы.

Чтобы точно определить, что делает код:

    Application.EnableVisualStyles();

Включает визуальные стили для приложения.Визуальные стили - это цвета, шрифты и другие визуальные элементы, которые формируют тему операционной системы.( MSDN LINK ).

    Application.SetCompatibleTextRenderingDefault(false);

Это свойство, обеспечивающее некоторую совместимость со старыми платформами.Если ваше приложение не обновляется из приложения .NET Framework 1.0 или .NET Framework 1.1, оставьте для него значение по умолчанию «false».Если вы не знаете, о чем я говорю .... оставьте значение по умолчанию 'false': D

    Application.Run(new Form1());

Когда ваше приложение запустится, запустите форму под названием «Form1» (вы можете увидеть ее).в вашем обозревателе решений).

для объяснения STAThread я оставляю вам ссылку в комментариях от @Raymond Chen, но я думаю, что это слишком сложно для вас, просто подумайте, что этоОбязательным для приложения WindowsForm сейчас:)

0 голосов
/ 03 мая 2019

Это авто-код, который генерирует Visual Studio для запуска в Program.cs в любом проекте winform. А это код Program.cs:

   using System;
   using System.Collections.Generic;
   using System.Linq;
   using System.Threading.Tasks;
   using System.Windows.Forms;

   namespace WindowsFormsApplication1
   {
   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());
    }
    }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...