Windows编程基础-.pdf
《Windows编程基础-.pdf》由会员分享,可在线阅读,更多相关《Windows编程基础-.pdf(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Windows编程基础1-1 课程简介与课程定位随着微软开发技术.NET 2.0,新一代服务器产品和数据库产品的推出,基于.NET2.0环境下的软件系统开发越来越受到软件行业和应用企业的亲睐。Visual Studio.NET为不同的应用程序提供了丰富的环境,一个项目本身可以由多种语言开发,例如C,C+,C#,VB 等。系统的应用程序即可以包括控制台应用程序,也可以包括Windows Forms开发,还可以应用于各种的 WEB 平台应用开发设计和手持移动设备等。本书着重在于构建Windows的应用程序在C#环境下的开发应用,扬弃了C#的编程基础和抽象的软件设计思想,如果期望尽快进入到C#Win
2、dows程序设计领域,这是一本比较适合的入门级教材。1-1-1本门课程简介本课定位目标为高等院校计算机相关专业,在开设基于Visual Studio.NET2005环境下,通过 C#语言开发的Windows Forms开发程序设计。要求开设本门课程的先修课程包括:C#程序设计基础,数据库基础理论与应用,数据结构与算法,面向对象的程序设计等,以实现学生迅速进入Windows Forms开发为目的,并可以设计出符合标准的Windows的应用软件。学习完本门课程,学生将掌握以下基本知识点:Windows 窗体设计界面介绍Winform 窗口的基本操作窗体容器以及MDI和 SDI 应用程序设计消息框窗
3、口对话机制基本窗体控件设计开发高级窗体控件开发Winform 文件操作的开发设计GDI+图形图像编程技术多线程编程技术ADO.NET 数据库访问技术Winform 网络编程技术水晶报表技术Winform 中的打包和部署1-1-2本门课程体系定位本门课程绝非孤立存在的,其课程的开设必须建立在一整套课程体系的基础之上,具体课程体系见图1-1所示。图 1-1 C#Windows程序设计在课程体系中的地位根据图 1-1所示,C#Windows程序设计在整体课程体系中的价值是处于承上启下的重要地位和作用,一方面 C#Windows程序设计是C#及面向对象程序设计思想的延伸和具体应用,另一方面是熟悉.NE
4、T FrameWork的非常好的手段,同时也为下一阶段的ASP.NET的开发奠定了应用实践基础。因而学好本门课程对于软件技术专业的学生意义重大。1-2 windows和窗体的基本概念本节学习目标:理解Windows 窗体及设计原则WinForm应用程序的入口点设置 InitializeComponent()方法灵活运用WinForm c#开发基本环境1-2-1Windows Forms程序基本结构在使用 widows 操作系统时候,经常会遇到如图1-2的窗体操作程序。一般而言,这种操作多是用户在PC 机上面的独立操作。图 1-2 Windows程序应用案例下面我们建立第一个C#环境下面的Win
5、dows应用程序。启动Visual Stutio 2005,默认语言为C#语言,建立如图1-3 所示的 Windows应用程序。一般而言,Visual C#开发应用程序步骤包括:建立项目、界面设计、属性设计和代码设计几个阶段。图 1-3 新建 Windows应用项目在建立新的项目时候需定义好项目的名称,具体的物理路径位置,点击确定后Visual C#将自动创建一个新的默认窗体FORM1,“窗体设计器”的界面如图1-4所示。图 1-4 窗体设计器界面在展开的窗体设计器界面之中,平时使用较多的操作控制区域分别是:工具箱,解决方案资源管理器和属性。工具箱面板将为Windows窗体提供强有力的工具,属
6、性面板将反映拖拽过来的 Windows控件的具体属性设置,解决方案资源管理器反映当前开发时候所需要操作的各种文件资源。在首次进行设计时候,如果遇到无法找到这些操作控制区域的情况,请在窗体设计界面的右上角选择如图1-5所示区域,就可以展开这些控制区。图 1-5 展开各种资源控制区域1111111111111111111111111111111111111111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111111111111111111111111111
7、11111111111 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111 1-2 Windows 编程基础(了解 winForm 程序的代码结构)1 初识 winForm代码在图 1-4的主要窗体控制区域用右键打开后台的C#代码,如图1-6所示。图 1-6 查看 winForm程序的代码展开的代码如下,具体意义见每行的注释信息:using System;/基础核心命名空间using System.Collections.Generic;/包含了 ArrayList、BitA
8、rray、Hashtable、Stack、StringCollection 和 StringTable 类using System.ComponentModel;using System.Data;/数据库访问控制using System.Drawing;/绘图类using System.Text;/文本类using System.Windows.Forms;/大量窗体和控件namespace WindowsApplication1/当前操作的命名控件是WindowsApplication1 publicpartialclass Form011:Form/从 System.Windows.Fo
9、rms.Form 中派生 public Form011()InitializeComponent();/注意该方法在下面的介绍 小知识:理解 Using 语句Using 语句通常出现在一个.cs文件中的头部,用于定义引用系统命名空间,具体的操作方法和属性等被定义在该系统的命名控件之中,比如如果不写using System.Drawing,则无法在后期开发之中进行图形图像方面的设计开发。另一方面,用户可以定义用户自定义类在一个用户自定义的命名空间下,这样在头部通过Using 语句声明该用户自定义的命名空间,从而获取该命名空间下的具体类以及该类的属性和方法,达到对于系统软件分层开发的目的。2 理解
10、 InitializeComponent()方法在每一个窗体生成的时候,都会针对于当前的窗体定义InitializeComponent()方法,该方法实际上是由系统生成的对于窗体界面的定义方法。/位于.cs 文件之中的InitializeComponent()方法public Form011()InitializeComponent();在每一个Form文件建立后,都会同时产生程序代码文件.CS 文件,以及与之相匹配的.Designer.CS文件,业务逻辑以及事件方法等被编写在.CS 文件之中,而界面设计规则被封装在.Designer.CS文件里,下面代码为.Designer.CS文件的系统自
11、动生成的脚本代码。namespace WindowsApplication1 partialclass Form011 /必需的设计器变量。/private System.ComponentModel.IContainer components=null;/清理所有正在使用的资源。/如果应释放托管资源,为true;否则为false。protectedoverridevoid Dispose(bool disposing)if(disposing&(components!=null)components.Dispose();base.Dispose(disposing);#region Wind
12、ows 窗体设计器生成的代码/设计器支持所需的方法-不要使用代码编辑器修改此方法的内容。/privatevoid InitializeComponent()this.button1=new System.Windows.Forms.Button();this.label1=new System.Windows.Forms.Label();this.SuspendLayout();/button1/this.button1.Location=new System.Drawing.Point(70,43);this.button1.Name=button1;this.button1.Size=ne
13、w System.Drawing.Size(75,23);this.button1.TabIndex=0;this.button1.Text=button1;this.button1.UseVisualStyleBackColor=true;/label1/this.label1.AutoSize=true;this.label1.Location=new System.Drawing.Point(12,54);this.label1.Name=label1;this.label1.Size=new System.Drawing.Size(41,12);this.label1.TabIndex
14、=1;this.label1.Text=label1;/Form011/this.AutoScaleDimensions=new System.Drawing.SizeF(6F,12F);this.AutoScaleMode=System.Windows.Forms.AutoScaleMode.Font;this.ClientSize=new System.Drawing.Size(458,326);this.Controls.Add(this.label1);this.Controls.Add(this.button1);this.FormBorderStyle=System.Windows
15、.Forms.FormBorderStyle.FixedToolWindow;this.Name=Form011;this.StartPosition=System.Windows.Forms.FormStartPosition.CenterScreen;this.Text=Form011;this.ResumeLayout(false);this.PerFormLayout();#endregion private System.Windows.Forms.Button button1;private System.Windows.Forms.Label label1;在代码之中,可以很容易
16、发现InitializeComponent()方法和 Dispose()方法,前者为界面设计的变现内容,后者为表单释放系统资源时候执行编码。小实验:修改 Windows 窗体的.Designer.CS 文件请更改 InitializeComponent()方法中的相关属性参数,观察界面的显示是否有变化。3 创建 WinForm应用程序的入口点在 WinForm应用程序的开发设计中,一般会通过多窗体协调一致的处理具体业务流程。这种应用必须由程序员决定那个WinForm的窗体第一个被触发执行,在Windows Forms开发程序设计中由位于根目录下的Program.cs文件决定。展开Program
17、.cs文件,按照下面代码即可决定那个WinForm的表单第一个被触发执行。小实验:修改 WinForm应用程序的入口点using System;using System.Collections.Generic;using System.Windows.Forms;namespace WindowsApplication1 staticclassProgram /应用程序的主入口点。/STAThread staticvoid Main()Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(f
18、alse);Application.Run(newForm011();/此处黑体字部分决定那个窗体文件首先被执行。1111111111111111111111111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111111111111111111111111
19、11111111111111 1-3 Winform 中的常用控件(1)1-3 Winform 中的常用控件本节学习目标:System.Windows.Forms.Control基本结构使用基本控件如标签、文本、按钮、列表框和组合框掌握窗体的常用属性和方法进行基本控件的开发设计工作深入掌握系统对话框的属性及代码开发掌握模式对话与非模式对话的概念及差异了解模式对话的开发机理1-3-1简介Winform 中的常用控件来自于系统System.Windows.Forms.Control,该类库来自System.Windows.Forms命名空间之内,该命名空间提供各种控件类,使用这些控件类,可以创建丰
20、富的用户界面,具体实现功能由位于该命名空间下的Control系统类派生。Control 类为在 Form中显示的所有控件提供基本功能,Form类表示应用程序内的窗口。这包括对话框,无模式窗口和多文档界面(MDI)客户端窗口及父窗口,同时也可以通过从UserControl类派生而创建自己的控件。对于上述所有的这些可视化界面组件,我们统一称之为控件,这些控件都是源于System.Windows.Forms命名空间,该命名空间结构如图1-7。图 1-7 System.Windows.Forms命名控件集1 案例学习:建立第一个winForm应用员工信息录入功能本次实验目标是快速建立如图1-8的员工信
21、息录入窗体,通过该案例使读者快速掌握Winform 中的常用控件包括:标签控件,文本框控件,按钮控件和组合框,列表框控件。图 1-8 员工信息录入窗体目标界面实验步骤(1):由图 1-9所示,从工具箱之中拖拽具体的控件到Form窗体上,并更改标签对象和按钮的text属性为图1-8所标内容。将文本框,列表框和组合框的Enabled属性设置为False,即设置这些控件为不可用状态。图 1-9 工具箱拖拽控件对象实验步骤(2):由图 1-10所示,分别配置列表框和组合框的Items属性,在展开的字符串集合编辑器内输入图 1-10所示的具体文本信息。图 1-10 配置列表框和组合框的Items 属性实
22、验步骤(3):用鼠标双击“添加”按钮,进入.cs 文件编辑状态准备进行开发。“添加”、“取消”和“关闭”按钮的鼠标单击事件详细代码加下:小实验:添加功能源代码:private void button1_Click(object sender,EventArgs e)textBox1.Enabled=true;textBox2.Enabled=true;listBox1.Enabled=true;comboBox1.Enabled=true;/设置所有代码为可用状态;comboBox1.SelectedIndex=0;/设置组合框控件默认为第一个textBox1.Focus();/设置第一个文本
23、框后的焦点 小实验:取消功能源代码:private void button2_Click(object sender,EventArgs e)textBox1.Enabled=false;textBox2.Enabled=false;listBox1.Enabled=false;comboBox1.Enabled=false;/设置所有代码为不可用状态;小实验:关闭功能源代码:private void button3_Click(object sender,EventArgs e)Application.Exit();/通知所有消息泵必须终止,并且在处理了消息以后关闭所有应用程序窗口。问题讨论
24、:使用 Application.Exit()还是 Form.Close()呢?不论是 Application.Exit(),还是 Form.Close()都可以起到关闭当前窗体的作用,但是需要初学者了解这两种方法的差异性。一个完整的WinForm 程序从是 Application.Run(new Form1)开始,到 Application.Exit()结束,最终将执行销毁窗体和回收系统所有的资源任务,软件系统停止;而Form.close()只是关闭当前窗口和对话任务,整体程序不退出。如果只打开了一个窗体,那么这两种方案是一致的。一般而言,如果只有一个窗口或者是MDI(多文档窗体)里面的主窗口
25、则是退出程序,Form.close()也是一种安全的方式,但如果是打开多个文档窗口的情况,退出系统必须使用Application.Exit()方法。1-3-2基本控件使用1 Label标签控件Label标签控件是使用频度最高的控件,主要用以显示窗体文本信息。其基本的属性和方法定义如表1-1所示:属性说明Text 该属性用于设置或获取与该控件关联的文本方法说明 Hide 隐藏控件,调用该方法时,即使 Visible 属性设置为 True,控件也不可见 Show 相当于将控件的 Visible 属性设置为 True 并显示控件事件说明 Click 用户单击控件时将发生该事件表 1-1 Label标
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Windows 编程 基础
限制150内