C# InitializeComponent()方法案例詳解
在每一個(gè)窗體生成的時(shí)候,都會(huì)針對(duì)于當(dāng)前的窗體定義InitializeComponent()方法,該方法實(shí)際上是由系統(tǒng)生成的對(duì)于窗體界面的定義方法。
//位于.cs文件之中的InitializeComponent()方法 public Form011() { InitializeComponent(); }
在每一個(gè)Form文件建立后,都會(huì)同時(shí)產(chǎn)生程序代碼文件.CS文件,以及與之相匹配的.Designer.CS文件,業(yè)務(wù)邏輯以及事件方法等被編寫在.CS文件之中,而界面設(shè)計(jì)規(guī)則被封裝在.Designer.CS文件里,下面代碼為.Designer.CS文件的系統(tǒng)自動(dòng)生成的腳本代碼。
namespace Example_FormTest { partial class frmStudent { /// /// 必需的設(shè)計(jì)器變量。 /// private System.ComponentModel.IContainer components = null; /// /// 清理所有正在使用的資源。 /// /// 如果應(yīng)釋放托管資源,為 true;否則為 false。 protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows 窗體設(shè)計(jì)器生成的代碼 /// /// 設(shè)計(jì)器支持所需的方法 - 不要 /// 使用代碼編輯器修改此方法的內(nèi)容。 /// private void InitializeComponent() { this.SuspendLayout(); // // frmStudent // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(292, 273); this.Name = “frmStudent”; this.Text = “學(xué)生信息”; this.MouseClick += new System.Windows.Forms.MouseEventHandler(this.frmStudent_MouseClick); this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.frmStudent_KeyPress); this.ResumeLayout(false); } #endregion } }
在代碼之中,可以很容易發(fā)現(xiàn)InitializeComponent()方法和Dispose()方法,前者為界面設(shè)計(jì)的變現(xiàn)內(nèi)容,后者為表單釋放系統(tǒng)資源時(shí)候執(zhí)行編碼。
InitializeComponent()方法反映了窗體設(shè)計(jì)器中窗體和控件的屬性。通常不會(huì)在世界上個(gè)文件中修改代碼。如果更改InitializeComponent()方法中的相關(guān)屬性參數(shù),在窗體設(shè)計(jì)器界面上也會(huì)顯示出來(lái)。
我們發(fā)現(xiàn)建一個(gè)c#窗體項(xiàng)目,在Form1.cs和Form1.Designer.cs里分別有一個(gè)InitializeComponent()函數(shù)
Form1.Designer.cs 里的是定義 (函數(shù)名后面有大括號(hào)包含定義內(nèi)容)
Form1.cs 里的是調(diào)用 (函數(shù)名后面分號(hào)結(jié)尾)
partial 表示以下創(chuàng)建的是分布類代碼
也就是說(shuō) 一個(gè)類的定義代碼 可以寫在兩個(gè)不同的頁(yè)面
Form1.cs和Form1.Designer.cs
注意:InitializeComponent()方法寫在前面和后面是有區(qū)別的。InitializeComponent()方法是用來(lái)初始化窗體組件的,在InitializeComponent之前,窗體的各個(gè)控件還沒(méi)有進(jìn)行初始化,比如說(shuō)窗體上有一個(gè)TextBoxUserName,在InitializeComponent之前它還只是一個(gè)TextBox類型的變量而已,如果在InitializeComponent之前調(diào)用這個(gè)TextBox的屬性或方法,就會(huì)出錯(cuò)。再比如說(shuō)你拖上取一個(gè)TextBox,它放在Form的位置,TextBox的一些屬性。包括new 這個(gè)TextBox都放在那個(gè)函數(shù)里面處理的。
我們可以看一下Form.Designer.cs,在那里找到InitializeComponent方法,您會(huì)發(fā)現(xiàn)窗體對(duì)象的初始化都是在那里做的。
到此這篇關(guān)于C# InitializeComponent()方法案例詳解的文章就介紹到這了,更多相關(guān)C# InitializeComponent()方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#實(shí)現(xiàn)xml文件的讀取與寫入簡(jiǎn)單實(shí)例
這篇文章主要介紹了C#實(shí)現(xiàn)xml文件的讀取與寫入方法,涉及C#操作XML文件的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08c#計(jì)算某段代碼的執(zhí)行時(shí)間實(shí)例方法
在本篇文章里我們給大家整理了關(guān)于c#計(jì)算某段代碼的執(zhí)行時(shí)間的方法和經(jīng)驗(yàn),有興趣的朋友們學(xué)習(xí)下。2019-02-02關(guān)于ASP網(wǎng)頁(yè)無(wú)法打開的解決方案
asp網(wǎng)頁(yè)實(shí)際上就是動(dòng)態(tài)網(wǎng)頁(yè),是在服務(wù)端執(zhí)行和解析的。有時(shí)也很奇怪,經(jīng)常遇到asp網(wǎng)頁(yè)無(wú)法打開的情況,下面小編給大家整理些關(guān)于asp網(wǎng)頁(yè)無(wú)法打開的解決方案,需要的朋友可以參考下2015-08-08WPF程序?qū)⒖丶尸F(xiàn)的內(nèi)容保存成圖像
這篇文章介紹了WPF程序?qū)⒖丶尸F(xiàn)的內(nèi)容保存成圖像的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06C#實(shí)現(xiàn)對(duì)文件進(jìn)行加密保護(hù)的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)對(duì)文件進(jìn)行加密保護(hù)的功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下2022-12-12