C# c中form1.cs、form1.designer.cs和program.cs之间的差异#

C# c中form1.cs、form1.designer.cs和program.cs之间的差异#,c#,winforms,visual-studio-2012,C#,Winforms,Visual Studio 2012,我真的没有c#方面的经验,如果这是一个简单的问题,我很抱歉,但这会帮助我更好地理解我的作业 我必须在Visual studio中制作某种c#应用程序,我的主要问题是: 代码的哪个部分位于哪个文件中:form1.cs、form1.designer.cs或program.cs 我认为Visual studio在Form1.designer.cs中生成代码,除非有必要,否则我不应该更改它。在Form1.cs中,函数是通过单击某个表单元素激活的,而在program.cs中,函数是应用程序的主要部分 我说

我真的没有c#方面的经验,如果这是一个简单的问题,我很抱歉,但这会帮助我更好地理解我的作业

我必须在Visual studio中制作某种c#应用程序,我的主要问题是: 代码的哪个部分位于哪个文件中:form1.cs、form1.designer.cs或program.cs

我认为Visual studio在Form1.designer.cs中生成代码,除非有必要,否则我不应该更改它。在Form1.cs中,函数是通过单击某个表单元素激活的,而在program.cs中,函数是应用程序的主要部分

我说的对吗?关于这些文件,我在开始时还有什么需要知道的吗

非常感谢您的回答。

  • form1.cs:这里是您编写的代码、事件和自定义代码

  • form1.designer.cs:windows窗体上组件的代码。您需要它,但无法删除。建议不要为Begginner手动更改它

  • program.cs:在C#中,要启动程序,它会查找包含名为
    main(string[]args)
    的静态方法的静态类,然后在此范围内开始执行程序。在这里,在windows窗体应用程序中,代码创建一个窗体并将其打开给开始使用该应用程序的用户


每次创建表单时,都会看到
.cs
文件和
.designer.cs
,每次从工具箱拖动控件或更改属性窗口上的某些属性时,
.designer.cs
文件都会更改。

是的,您基本上是正确的,但是:

  • form1.cs是windows窗体的代码隐藏文件。它是windows的类文件 表单,其中编写了必要的方法、函数以及事件驱动的方法和代码

  • form1.designer.cs是初始化表单元素的设计器文件。如果在窗体窗口中拖放任何元素,则该元素将在此类中自动初始化

  • program.cs是应用程序的主要部分。这将在应用程序运行时首先执行


  • program.cs
    是静态类,它只包含启动应用程序所需的一个静态方法:

    每个C#应用程序必须包含一个指定 开始执行程序的地方

    如果您的项目只是一个库,那么您不需要在代码中使用
    Main()
    -方法,并且不会生成
    program.cs

    关于
    form1.cs
    form1.designer.cs
    -这是一个类
    form1
    ,其定义分为两个代码文件:

    可以拆分类或结构的定义 两个或多个源文件上的接口或方法。每个源文件 包含类型或方法定义的节,并且所有部分都是 在编译应用程序时组合

    因此,这两个文件具有相同类别的代码。

    您可以在
    form1.cs
    中编写控件初始化代码。但需要记住的是,当您通过
    VisualStudio

    的设计器进行更改时,
    form1.designer.cs
    文件总是会生成的。欢迎来到C#,一个好的起点是“您的项目中有什么?”部分回答您的问题。您可能还想阅读“事件处理程序”,其定义通常位于form1.cs中。谢谢您的回答:)我正在使用旧代码,而form1.designer.cs不存在,它将所有内容都放入form1.cs中。如果我在其上放置新按钮,则会更新form1.cs中的InitializeComponent()。什么设置会让它这样做?@BradB。实际上,如果您使用的是C#2.0及更高版本,我想您可以自己创建form1.designer.cs文件。*.deigner.cs文件包含一个分部类,其中包含所述方法
    InitializeComponent()
    ,以及可视化属性的定义和初始化。理论上,当你移动这些东西的时候,它应该会找到它,当它和你的逻辑在一个类中时(但是分成两个部分类)。不幸的是,我不能测试它,因为我没有VS。