InitializeComponent()的非常简单的定义; 方法

我一直在使用Head First C#书并使用了InitializeComponent(); 方法好几次。

这方面的一个例子是在Party Planner练习中我创建了一个名为DinnerParty.cs的类,然后在Form1.cs中使用了这个代码。

public Form1() { InitializeComponent(); dinnerParty = new DinnerParty() { NumberOfPeople = 5 }; dinnerParty.SetHealthyOption(checkBox2.Checked); dinnerParty.CalculateCostOfDecorations(checkBox1.Checked); DisplayDinnerPartyCost(); } 

我的问题是,Initialize Component方法到底是做什么的。 我的理解是我定义了一个新的对象或DinnerParty类的实例并设置了所有值,到目前为止我假设InitializeComponent()有点说“使用以下内容设置我的字段的值:”

我可以请一个BASIC,我可以理解我的定义。 我已经看过以前关于此的post和答案,一切都太复杂了。 我将标记最容易理解的响应,仍然有关键信息作为答案。

InitializeComponent是在您创建/更改表单时由表单设计器自动为您编写的方法。

每个Forms文件(例如Form1.cs)都有一个设计器文件(例如Form1.designer.cs),它包含InitializeComponent方法,genericsForm.Dispose的覆盖,以及所有用户界面对象的声明,如按钮,文本框,标签和表格本身。

InitializeComponent方法包含使用表单设计器的属性网格创建和初始化在表单表面上拖动的用户界面对象的代码,其中包含您(程序员)提供的值。 由于这个事实,在调用InitializeComponent之前不要尝试与表单或控件进行交互
此外,您还可以在此处找到将控件和表单事件链接到您编写的特定事件处理程序以响应用户操作所需的管道。

由于部分类的概念可以将代码的两个或多个文件保存在一起,就像单个代码块一样,Form1.cs和Form1.Designer.cs文件中包含的代码是同一个类的一部分 。

当然,由于表单设计器执行了大量更改,因此不尝试手动修改此方法是一个非常好的建议,而有时,我觉得有用的是将代码添加到Dispose方法中以达到销毁的目的在表单生命周期中创建的一些非托管对象。

InitializeComponent是一个用于初始化表单的方法。 它与您的DinnerParty课程无关。

因此,可能会在用户界面上设置按钮,标签,事件处理程序等内容。

这是一个更深入的解释。 InitializeComponent()做了什么,它在WPF中如何工作?