什么类型的.cs扩展文件同时包含设计和代码?C#

什么类型的.cs扩展文件同时包含设计和代码?C#,c#,forms,C#,Forms,我有两个问题 1.当我使用Visual studio创建新表单时,表单设计和代码是独立的文件 表1.cs 表单1.Designer.cs 表1.resx 但是我从互联网上下载了“sample\u client.cs”,它的设计和代码都在同一个“sample\u client.cs”文件中。这是为什么?它是否由Visual Studio制作 为什么某些Windows窗体源是XAML 它有什么特别之处吗?每次只问一个问题: Form1.cs和Form1.Designer.cs包含与相同的类。第二个由

我有两个问题

1.当我使用Visual studio创建新表单时,表单设计和代码是独立的文件

表1.cs
表单1.Designer.cs
表1.resx
但是我从互联网上下载了
“sample\u client.cs”
,它的设计和代码都在同一个
“sample\u client.cs”
文件中。这是为什么?它是否由Visual Studio制作

  • 为什么某些Windows窗体源是XAML 它有什么特别之处吗?

    每次只问一个问题:

  • Form1.cs
    Form1.Designer.cs
    包含与相同的类。第二个由IDE本身更新,第一个由开发人员更新。您下载的示例可能来自其他开发环境。要发现哪个是,您必须打开项目文件并深入研究它

  • XAML文件属于该技术,您提供的“.cs.resx”文件示例属于该技术


  • C#中有一个语言特性,允许使用“partial”关键字将类拆分为多个文件

    这主要用于拆分自动生成零件和用户定义零件中的类。将用户代码与自动生成的代码分开是一件好事,以避免自定义代码被生成器覆盖。这就是为什么Visual Studio设计器在.designer.cs部分和.cs部分中拆分相同的窗体类


    .designer.cs文件实际上只是初始化表单的普通代码,因为它是同一个类,所以可以将它合并到一个文件中,这可能是有人在这里所做的。

    如果您正在查看一些非常旧的代码,这些代码在.NET 1.1/VS2003版本中没有更新,那么您将在单个文件中找到所有代码。谢谢。回答得好,谢谢。至少我学到了一些东西。如何指定启动新表单时要使用的模式?默认情况下,Visual Studio会将表单类一分为二。在图形GUI设计器中更改某些内容时,.designer.cs文件将自动更新(例如,添加新控件、更改某些标题等)。在non-.designer类中,您可以和平地使用事件处理程序等。有时,您希望创建一个自定义控件,使其自定义到根本不需要自动生成的初始化。在这种情况下,合并两者并简单地删除.designer文件是有意义的。