c#中form1.cs,form1.designer.cs和program.cs之间的区别

时间:2014-01-08 17:56:40

标签: 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中是应用程序的主要部分。

我是对的,开头还有其他关于这些文件的知识吗?

非常感谢您的回答。

3 个答案:

答案 0 :(得分:4)

是的,你大多是正确的,但是:

  1. form1.cs是Windows窗体的代码隐藏文件。它是windows的类文件 形成必要的方法,函数也是事件驱动的方法和代码。

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

  3. program.cs是应用程序的主要内容。这将在应用程序运行时首先执行。

答案 1 :(得分:2)

好吧,

  • form1.cs:您编写的代码,事件和自定义代码均在此处。

  • form1.designer.cs: Windows窗体上组件的代码。你需要它,你不能删除。不建议为begginners手动更改它。

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

每次创建表单时,您都会看到.cs文件和.designer.cs,并且每次从Toolbox拖动控件或更改属性窗口中的某些属性时,.designer.cs文件将被更改。

答案 2 :(得分:1)

program.cs - 是一个静态类,它只包含一个需要启动应用程序的静态方法。 From MSDN

  

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

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

关于form1.csform1.designer.cs - 这是一个类form1,其定义分为两个代码文件。 From MSDN about partial class

  

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

所以这两个文件的代码相同。
您可以在form1.cs中编写控件初始化代码。但需要记住,当您通过form1.designer.cs

的设计人员进行更改时,将始终生成VisualStudio文件