您的位置:首页 > 编程语言

1-2 Windows编程基础(了解winForm程序的代码结构) 推荐

2009-09-13 21:10 726 查看

1-2-2 了解winForm程序的代码结构

1.初识winForm代码

[align=left]在图1-4的主要窗体控制区域用右键打开后台的C#代码,如图1-6所示。[/align]



[align=center][/align]
[align=center]图1-6 查看winForm程序的代码[/align]
[align=left] 展开的代码如下,具体意义见每行的注释信息:[/align]

[align=left]using System;// 基础核心命名空间[/align]
[align=left]using System.Collections.Generic;[/align]
[align=left]//包含了ArrayList、BitArray、Hashtable、Stack、StringCollection 和 StringTable 类[/align]
[align=left]using System.ComponentModel;[/align]
[align=left]using System.Data;//数据库访问控制[/align]
[align=left]using System.Drawing;//绘图类[/align]
[align=left]using System.Text;//文本类[/align]
[align=left]using System.Windows.Forms; //大量窗体和控件[/align]
[align=left] [/align]
[align=left]namespace WindowsApplication1 //当前操作的命名控件是WindowsApplication1[/align]
[align=left]{[/align]
[align=left] public partial class Form011 : Form //从 System.Windows.Forms.Form 中派生[/align]
[align=left] {[/align]
[align=left] public Form011()[/align]
[align=left] {[/align]
[align=left] InitializeComponent();//注意该方法在下面的介绍[/align]
[align=left] }[/align]
[align=left] }[/align]
}
[/b]小知识:[/b]

理解[/b]Using[/b]语句[/b][/b]
Using语句通常出现在一个.cs文件中的头部,用于定义引用系统命名空间,具体的操作方法和属性等被定义在该系统的命名控件之中,比如如果不写using System.Drawing,则无法在后期开发之中进行图形图像方面的设计开发。
另一方面,用户可以定义用户自定义类在一个用户自定义的命名空间下,这样在头部通过Using语句声明该用户自定义的命名空间,从而获取该命名空间下的具体类以及该类的属性和方法,达到对于系统软件分层开发的目的。

2.理解InitializeComponent()方法

[align=left]在每一个窗体生成的时候,都会针对于当前的窗体定义InitializeComponent()方法,该方法实际上是由系统生成的对于窗体界面的定义方法。[/align]

[align=left]//位于.cs文件之中的InitializeComponent()方法[/align]
[align=left]public Form011()[/align]
[align=left] {[/align]
[align=left] InitializeComponent();[/align]
[align=left] }[/align]
[align=left]在每一个Form文件建立后,都会同时产生程序代码文件.CS文件,以及与之相匹配的.Designer.CS文件,业务逻辑以及事件方法等被编写在.CS文件之中,而界面设计规则被封装在.Designer.CS文件里,下面代码为.Designer.CS文件的系统自动生成的脚本代码。[/align]

[align=left]namespace WindowsApplication1[/align]
[align=left]{[/align]
[align=left] partial class Form011[/align]
[align=left] {[/align]
[align=left] /// <summary>[/align]
[align=left] /// 必需的设计器变量。[/align]
[align=left] /// </summary>[/align]
[align=left] private System.ComponentModel.IContainer components = null;[/align]
[align=left] /// <summary>[/align]
[align=left] /// 清理所有正在使用的资源。[/align]
[align=left] /// </summary>[/align]
[align=left] /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>[/align]
[align=left] protected override void Dispose(bool disposing)[/align]
[align=left] {[/align]
[align=left] if (disposing && (components != null))[/align]
[align=left] {[/align]
[align=left] components.Dispose();[/align]
[align=left] }[/align]
[align=left] base.Dispose(disposing);[/align]
[align=left] }[/align]
[align=left] #region Windows 窗体设计器生成的代码[/align]
[align=left] /// <summary>[/align]
[align=left] /// 设计器支持所需的方法 - 不要使用代码编辑器修改此方法的内容。[/align]
[align=left] /// </summary>[/align]
[align=left] private void InitializeComponent()[/align]
[align=left] {[/align]
[align=left] this.button1 = new System.Windows.Forms.Button();[/align]
[align=left] this.label1 = new System.Windows.Forms.Label();[/align]
[align=left] this.SuspendLayout();[/align]
[align=left] // [/align]
[align=left] // button1[/align]
[align=left] // [/align]
[align=left] this.button1.Location = new System.Drawing.Point(70, 43);[/align]
[align=left] this.button1.Name = "button1";[/align]
[align=left] this.button1.Size = new System.Drawing.Size(75, 23);[/align]
[align=left] this.button1.TabIndex = 0;[/align]
[align=left] this.button1.Text = "button1";[/align]
[align=left] this.button1.UseVisualStyleBackColor = true;[/align]
[align=left] // [/align]
[align=left] // label1[/align]
[align=left] // [/align]
[align=left] this.label1.AutoSize = true;[/align]
[align=left] this.label1.Location = new System.Drawing.Point(12, 54);[/align]
[align=left] this.label1.Name = "label1";[/align]
[align=left] this.label1.Size = new System.Drawing.Size(41, 12);[/align]
[align=left] this.label1.TabIndex = 1;[/align]
[align=left] this.label1.Text = "label1";[/align]
[align=left] // [/align]
[align=left] // Form011[/align]
[align=left] // [/align]
[align=left] this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);[/align]
[align=left] this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;[/align]
[align=left] this.ClientSize = new System.Drawing.Size(458, 326);[/align]
[align=left] this.Controls.Add(this.label1);[/align]
[align=left] this.Controls.Add(this.button1);[/align]
[align=left] this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;[/align]
[align=left] this.Name = "Form011";[/align]
[align=left] this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;[/align]
[align=left] this.Text = "Form011";[/align]
[align=left] this.ResumeLayout(false);[/align]
[align=left] this.PerFormLayout();[/align]
[align=left] }[/align]
[align=left] #endregion[/align]
[align=left] private System.Windows.Forms.Button button1;[/align]
[align=left] private System.Windows.Forms.Label label1;[/align]
[align=left] }[/align]
}
[align=left]在代码之中,可以很容易发现InitializeComponent()方法和Dispose()方法,前者为界面设计的变现内容,后者为表单释放系统资源时候执行编码。[/align]
[/b]小实验:[/b]修改Windows 窗体的.Designer.CS文件[/b]

[align=left]请更改InitializeComponent()方法中的相关属性参数,观察界面的显示是否有变化。[/align]

3.创建WinForm应用程序的入口点

[align=left]在WinForm应用程序的开发设计中,一般会通过多窗体协调一致的处理具体业务流程。这种应用必须由程序员决定那个WinForm的窗体第一个被触发执行,在Windows Forms开发程序设计中由位于根目录下的Program.cs文件决定。展开Program.cs文件,按照下面代码即可决定那个WinForm的表单第一个被触发执行。[/align]
[/b]小实验:[/b]修改WinForm应用程序的入口点[/b]

[align=left]using System;[/align]
[align=left]using System.Collections.Generic;[/align]
[align=left]using System.Windows.Forms;[/align]
[align=left] [/align]
[align=left]namespace WindowsApplication1[/align]
[align=left]{[/align]
[align=left] static class Program[/align]
[align=left] {[/align]
[align=left] /// <summary>[/align]
[align=left] /// 应用程序的主入口点。[/align]
[align=left] /// </summary>[/align]
[align=left] [STAThread][/align]
[align=left] static void Main()[/align]
[align=left] {[/align]
[align=left] Application.EnableVisualStyles();[/align]
[align=left] Application.SetCompatibleTextRenderingDefault(false);[/align]
[align=left] Application.Run(new Form011());//此处黑体字部分决定那个窗体文件首先被执行。[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left]}[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐