请选择 进入手机版 | 继续访问电脑版

[C#教程] C# InitializeComponent()方法案例详解

[复制链接]
查看143 | 回复18 | 2021-9-12 12:40:17 | 显示全部楼层 |阅读模式

在每一个窗体天生 的时间 ,都会针对于当前的窗体定义InitializeComponent()方法,该方法实际 上是由体系 天生 的对于窗体界面的定义方法。

  1. //位于.cs文件之中的InitializeComponent()方法
  2. public Form011() {
  3. InitializeComponent();
  4. }
复制代码

在每一个Form文件建立后,都会同时产生程序代码文件.CS文件,以及与之相匹配的.Designer.CS文件,业务逻辑以及变乱 方法等被编写在.CS文件之中,而界面计划 规则被封装在.Designer.CS文件里,下面代码为.Designer.CS文件的体系 主动 天生 的脚本代码。

  1. namespace Example_FormTest
  2. {
  3. partial class frmStudent
  4. {
  5. ///
  6. /// 必需的设计器变量。
  7. ///
  8. private System.ComponentModel.IContainer components = null;
  9. ///
  10. /// 清理所有正在使用的资源。
  11. ///
  12. /// 如果应释放托管资源,为 true;否则为 false。
  13. protected override void Dispose(bool disposing)
  14. {
  15. if (disposing && (components != null))
  16. {
  17. components.Dispose();
  18. }
  19. base.Dispose(disposing);
  20. }
  21. #region Windows 窗体设计器生成的代码
  22. ///
  23. /// 设计器支持所需的方法 - 不要
  24. /// 使用代码编辑器修改此方法的内容。
  25. ///
  26. private void InitializeComponent()
  27. {
  28. this.SuspendLayout();
  29. //
  30. // frmStudent
  31. //
  32. this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
  33. this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
  34. this.ClientSize = new System.Drawing.Size(292, 273);
  35. this.Name = “frmStudent”;
  36. this.Text = “学生信息”;
  37. this.MouseClick += new System.Windows.Forms.MouseEventHandler(this.frmStudent_MouseClick);
  38. this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.frmStudent_KeyPress);
  39. this.ResumeLayout(false);
  40. }
  41. #endregion
  42. }
  43. }
复制代码

在代码之中,可以很轻易 发现InitializeComponent()方法和Dispose()方法,前者为界面计划 的变现内容,后者为表单开释 体系 资源时间 实行 编码。

InitializeComponent()方法反映了窗体计划 器中窗体和控件的属性。通常不会活着 界上个文件中修改代码。假如 更改InitializeComponent()方法中的相干 属性参数,在窗体计划 器界面上也会表现 出来。

我们发现建一个c#窗体项目,在Form1.cs和Form1.Designer.cs里分别有一个InitializeComponent()函数
Form1.Designer.cs 里的是定义 (函数名后面有大括号包含定义内容)
Form1.cs 里的是调用 (函数名后面分号末了 )
partial 表示以下创建的是分布类代码
也就是说 一个类的定义代码 可以写在两个不同的页面
Form1.cs和Form1.Designer.cs
留意 :InitializeComponent()方法写在前面和后面是有区别的。InitializeComponent()方法是用来初始化窗体组件的,在InitializeComponent之前,窗体的各个控件还没有举行 初始化,比如说窗体上有一个TextBoxUserName,在InitializeComponent之前它还只是一个TextBox范例 的变量而已,假如 在InitializeComponent之前调用这个TextBox的属性或方法,就会出错。再比如说你拖上取一个TextBox,它放在Form的位置,TextBox的一些属性。包括new 这个TextBox都放在谁人 函数内里 处理的。
我们可以看一下Form.Designer.cs,在那边 找到InitializeComponent方法,您会发现窗体对象的初始化都是在那边 做的。

到此这篇关于C# InitializeComponent()方法案例详解的文章就先容 到这了,更多相干 C# InitializeComponent()方法内容请搜索 脚本之家从前 的文章或继续欣赏 下面的相干 文章盼望 大家以后多多支持脚本之家!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

avatar 劳心忉忉卫 | 2021-9-14 15:12:14 | 显示全部楼层
楼上的心情不错啊!
回复

使用道具 举报

avatar 123457390 | 2021-9-14 15:30:44 | 显示全部楼层
鸟大了,什么林子都敢进啊!
回复

使用道具 举报

admin楼主人气很旺!
回复

使用道具 举报

avatar 海田1 | 2021-9-18 00:15:03 | 显示全部楼层
禽兽不如应该不是说admin楼主的的吧?
回复

使用道具 举报

avatar 哈哈小强呀 | 2021-9-18 01:12:22 | 显示全部楼层
admin楼主该去看心理医生了!
回复

使用道具 举报

avatar 蓝色的天空888 | 2021-9-19 12:46:50 | 显示全部楼层
顶!顶!顶!
回复

使用道具 举报

avatar 紫罗兰的叶栏 | 2021-9-20 07:37:43 | 显示全部楼层
一口气看完了,我要下去回味回味了!
回复

使用道具 举报

avatar 令狐佳人 | 2021-9-21 22:34:47 | 显示全部楼层
楼上的别说的那么悲观好吧!
回复

使用道具 举报

avatar 123457466 | 2021-9-21 22:34:51 | 显示全部楼层
很有品味!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则