Windows窗体应用程序设计.ppt
《Windows窗体应用程序设计.ppt》由会员分享,可在线阅读,更多相关《Windows窗体应用程序设计.ppt(77页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、启动Visual C#开始开始启动Visual C#WindowsWindows窗体应用程序窗体应用程序IDE界面介绍菜单栏菜单栏工具栏工具栏工具箱工具箱窗体设计窗口窗体设计窗口窗体窗体解决方案解决方案资源管理器资源管理器属性窗口属性窗口属性含义说明属性含义说明错误列表错误列表本节课大纲n前情回顾前情回顾nC#的诞生与特点的诞生与特点n集成开发环境(集成开发环境(IDE)介绍)介绍nHelloWorldn项目与解决方案项目与解决方案n第一个控制台程序第一个控制台程序n第一个第一个Windows应用程序应用程序n第一个第一个Web应用程序应用程序n学会获取帮助学会获取帮助第一个Windows应用
2、程序n【例2.2】设计一个Winows应用程序,当用户在前两个文本框中输入数后,单击“计算”命令按钮,即可在第3个文本框中显示相加的计算结果。实现过程ButtonLabelTextBox属性窗口属性窗口Windows应用程序的组成第第8章章Windows窗体应用程序设计窗体应用程序设计8.1窗体设计窗体设计8.2常用的控件设计常用的控件设计8.3多文档窗体多文档窗体8.4窗体设计的事件机制窗体设计的事件机制8.1窗体设计窗体设计窗体(窗体(Form)是一个窗口或对话框,是存放各种控件(包括)是一个窗口或对话框,是存放各种控件(包括标签、文本框、命令按钮等)的容器,可用来向用户显示信息。标签、文
3、本框、命令按钮等)的容器,可用来向用户显示信息。8.1.1创建创建Windows窗体应用程序的过程窗体应用程序的过程添加一个窗体的操作步骤是:选择添加一个窗体的操作步骤是:选择“项目项目”|“添加添加Windows窗体窗体”菜单命令,在出现的菜单命令,在出现的“添加新项添加新项”对话框中,选中对话框中,选中“Windows窗体窗体”,输入相应的名称(这里为,输入相应的名称(这里为Form2.cs),单击),单击“添加添加”按钮。按钮。一个一个Windows应用程序可以包含多个窗体。应用程序可以包含多个窗体。8.1.2窗体类型窗体类型在在C#中,窗体分为如下两种类型:中,窗体分为如下两种类型:(
4、1)普通窗体,也称为单文档)普通窗体,也称为单文档窗体窗体(SDI),前面所有),前面所有创建的窗体均为普通窗体。普通窗体又分为如下两种:创建的窗体均为普通窗体。普通窗体又分为如下两种:模式窗体。这类窗体在屏幕上显示后用户必须响应,模式窗体。这类窗体在屏幕上显示后用户必须响应,只有在它关闭后才能操作其他窗体或程序。只有在它关闭后才能操作其他窗体或程序。无模式窗体。这类窗体在屏幕上显示后用户可以不必无模式窗体。这类窗体在屏幕上显示后用户可以不必响应,可以随意切换到其他窗体或程序进行操作。通常情况响应,可以随意切换到其他窗体或程序进行操作。通常情况下,当建立新的窗体时,都默认设置为无模式窗体。下,
5、当建立新的窗体时,都默认设置为无模式窗体。(2)MDI父窗体,即多文档窗体,其中可以放置普通子父窗体,即多文档窗体,其中可以放置普通子窗体。窗体。8.1.3窗体的常用属性窗体的常用属性1.布局属性布局属性2.窗口样式属性窗口样式属性3.外观样式属性外观样式属性4.行为属性行为属性8.1.4窗体的常用事件窗体的常用事件8.1.5窗体的常用方法窗体的常用方法【例例8.1】1.Form1窗体:窗体:(1)设计界面)设计界面(2)事件过程:)事件过程:Form1.cs文件:文件:/引用部分引用部分usingSystem;usingSystem.Collections.Generic;usingSyst
6、em.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;namespaceProj8_1publicpartialclassForm1:Form/从从Form类继承类继承Form1窗体窗体publicForm1()/Form1类构造函数类构造函数 InitializeComponent();/调用初始化方法,其代码在调用初始化方法,其代码在Form1.Designer.cs文件中文件中privatevoidbutton1_Click(objectsende
7、r,EventArgse)Formmyform=newForm1_1();/定义定义Form1_1类对象类对象 myform.ShowDialog();/以以模式窗体模式窗体方式调用方式调用privatevoidbutton2_Click(objectsender,EventArgse)Formmyform=newForm1_2();/定义定义Form1_2类对象类对象 myform.Show();/以以无模式窗体无模式窗体方式调用方式调用Form1.Designer.cs文件:文件:namespaceProj8_1partialclassForm1/必需的设计器变量。必需的设计器变量。/pr
8、ivateSystem.ComponentModel.IContainercomponents=null;/清理所有正在使用的资源。清理所有正在使用的资源。/如果应释放托管资源,为如果应释放托管资源,为true;/否则为否则为false。protectedoverridevoidDispose(booldisposing)/重写基类重写基类Dispose()方法方法if(disposing&(components!=null)components.Dispose();base.Dispose(disposing);/调用基类的调用基类的Dispose()方法方法#regionWindows窗体
9、设计器生成的代码窗体设计器生成的代码/设计器支持所需的方法设计器支持所需的方法-不要不要/使用代码编辑器修改此方法的内容。使用代码编辑器修改此方法的内容。/privatevoidInitializeComponent()/初始化方法初始化方法this.button1=newSystem.Windows.Forms.button();this.button2=newSystem.Windows.Forms.button();this.SuspendLayout();/button1this.button1.Font=newSystem.Drawing.Font(宋体宋体,9F,System.Dr
10、awing.FontStyle.Bold,System.Drawing.GraphicsUnit.Point,(byte)(134);this.button1.Location=newSystem.Drawing.Point(28,21);this.button1.Name=button1;this.button1.Size=newSystem.Drawing.Size(117,33);this.button1.TabIndex=0;this.button1.Text=调用模式窗体调用模式窗体;this.button1.UseVisualStyleBackColor=true;this.but
11、ton1.Click+=newSystem.EventHandler(this.button1_Click);/button2this.button2.Font=newSystem.Drawing.Font(宋体宋体,9F,System.Drawing.FontStyle.Bold,System.Drawing.GraphicsUnit.Point,(byte)(134);this.button2.Location=newSystem.Drawing.Point(28,69);this.button2.Name=button2;this.button2.Size=newSystem.Drawi
12、ng.Size(117,33);this.button2.TabIndex=1;this.button2.Text=调用无模式窗体调用无模式窗体;this.button2.UseVisualStyleBackColor=true;this.button2.Click+=newSystem.EventHandler(this.button2_Click);/Form1this.AutoScaleDimensions=newSystem.Drawing.SizeF(6F,12F);this.AutoScaleMode=System.Windows.Forms.AutoScaleMode.Font;
13、this.ClientSize=newSystem.Drawing.Size(169,128);this.Controls.Add(this.button2);this.Controls.Add(this.button1);this.Name=Form1;this.StartPosition=System.Windows.Forms.FormStartPosition.CenterScreen;this.Text=Form1;this.ResumeLayout(false);#endregionprivateSystem.Windows.Forms.buttonbutton1;/私有字段私有字
14、段privateSystem.Windows.Forms.buttonbutton2;/私有字段私有字段2.Form1_1窗体:窗体:(1)设计界面)设计界面(2)事件过程:无)事件过程:无3.Form1_1窗体:窗体:(1)设计界面)设计界面(2)事件过程:无)事件过程:无Program.cs文件文件:usingSystem;usingSystem.Collections.Generic;usingSystem.Windows.Forms;namespaceProj8_1staticclassProgram/应用程序的主入口点。应用程序的主入口点。/STAThreadstaticvoidMa
15、in()Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(newForm1();/启动窗体为启动窗体为Form1按按F5键或单击工具栏中的按钮运行本项目。键或单击工具栏中的按钮运行本项目。上机调试运行结果。上机调试运行结果。8.1.6窗体上各事件的引发顺序窗体上各事件的引发顺序当一个窗体启动时,执行事件过程的次序如下:当一个窗体启动时,执行事件过程的次序如下:(1)本窗体上的)本窗体上的Load事件过程。事件过程。(2)本窗体上的)本窗体上的
16、Activated事件过程。事件过程。(3)本窗体上的其他)本窗体上的其他Form级事件过程。级事件过程。(4)本窗体上包含对象的相应事件过程。)本窗体上包含对象的相应事件过程。一个窗体被卸载时,执行事件过程的次序如下:一个窗体被卸载时,执行事件过程的次序如下:(1)本窗体上的)本窗体上的Closing事件过程。事件过程。(2)本窗体上的)本窗体上的FormClosing事件过程。事件过程。(3)本窗体上的)本窗体上的Closed事件过程。事件过程。(4)本窗体上的)本窗体上的FormClosed事件过程。事件过程。8.1.7焦点与焦点与Tab键次序键次序焦点(焦点(Focus)是指当前处于活
17、动状态的窗体或控件。)是指当前处于活动状态的窗体或控件。要将焦点移到当前窗体中的要将焦点移到当前窗体中的textBox1文本框,可以文本框,可以使用以下命令:使用以下命令:textBox1.Focus();8.2.1控件概述控件概述控件是包含在窗体上的对象,是构成用户界面的基本控件是包含在窗体上的对象,是构成用户界面的基本元素,也是元素,也是C#可视化可视化编程的重要工具。编程的重要工具。工具箱中包含了建立应用程序的各种控件,根据控件工具箱中包含了建立应用程序的各种控件,根据控件的不同用途分为若干个选项卡,可根据用途单击相应的的不同用途分为若干个选项卡,可根据用途单击相应的选项卡,将其展开,选
18、择需要的控件。选项卡,将其展开,选择需要的控件。8.2常用的控件设计常用的控件设计大多数控件共有的基本属性如下大多数控件共有的基本属性如下:1)Name属性属性2)Text属性属性3)尺寸大小()尺寸大小(Size)和位置()和位置(Location)属性)属性4)字体属性()字体属性(Font)5)颜色属性()颜色属性(BackColor和和ForeColor)6)Cursor属性属性7)可见()可见(Visible)和有效()和有效(Enabled)属性)属性8.2.2富文本框控件富文本框控件提供类似提供类似MicrosoftWord能够输入、显示或处理具有格能够输入、显示或处理具有格式的
19、文本。式的文本。【例例8.2】设计一个窗体,说明富文本框的使用方法。设计一个窗体,说明富文本框的使用方法。Form2窗体:窗体:(1)设计界面)设计界面(2)事件过程:)事件过程:privatevoidForm2_Load(objectsender,EventArgse)richtextBox1.LoadFile(H:C#2005ch8file.RTF,RichtextBoxStreamType.RichText);H:C#2005ch8file.RTF,将本窗体设计为启动窗体,运行本项目,在富文本框将本窗体设计为启动窗体,运行本项目,在富文本框RichtextBox1中显示中显示H:C#20
20、05ch8file.rtf文件的内容。文件的内容。8.2.3分组框控件分组框控件8.2.4面板控件面板控件.2.5复选框控件复选框控件属于选择类控件,用来设置需要或不需要某一选项功能。属于选择类控件,用来设置需要或不需要某一选项功能。在运行时,如果用户用鼠标单击复选框左边的方框,方框在运行时,如果用户用鼠标单击复选框左边的方框,方框中就会出现一个中就会出现一个“”符号,表示已选取这个功能了。符号,表示已选取这个功能了。复选框的功能是独立的,如果在同一窗体上有多个复选复选框的功能是独立的,如果在同一窗体上有多个复选框,用户可根据需要选取一个或几个。框,用户可根据需要选取一个或几个。主要属性:主要
21、属性:Checked:获取或设置一个布尔值,该值指示是否已选中:获取或设置一个布尔值,该值指示是否已选中控件。如果为控件。如果为True,则指示选中状态;否则为,则指示选中状态;否则为False(默(默认值)。认值)。主要事件:主要事件:Click【例例8.3】设计一个窗体,说明复选框的应用。设计一个窗体,说明复选框的应用。Form3窗体:窗体:(1)设计界面)设计界面(2)事件过程:)事件过程:privatevoidbutton1_Click(objectsender,EventArgse)if(checkBox1.Checked&checkBox3.Checked&!checkBox2.C
22、hecked&!checkBox4.Checked)MessageBox.Show(您答对了您答对了,真的很棒真的很棒!,信息提示信息提示,MessageBoxButtons.OK);elseMessageBox.Show(您答错了您答错了,继续努力吧继续努力吧!,信息提示信息提示,MessageBoxButtons.OK);运行界面运行界面8.2.6单选按钮控件单选按钮控件单选按钮是多选一,只能从多个选项中选择一个,各单选按钮是多选一,只能从多个选项中选择一个,各选项间的关系是互斥的。选项间的关系是互斥的。单选按钮使用时经常用多个控件构成一个组,同一时单选按钮使用时经常用多个控件构成一个组,
23、同一时刻只能选择同一组中的一个单选按钮,因此,经常将单选刻只能选择同一组中的一个单选按钮,因此,经常将单选按钮放在一个分组框中构成一个选项组。按钮放在一个分组框中构成一个选项组。【例例8.4】设计一个窗体,说明单选按钮的使用方法。设计一个窗体,说明单选按钮的使用方法。Form4窗体:窗体:(1)设计界面)设计界面(2)事件过程:)事件过程:privatevoidbutton1_Click(objectsender,EventArgse)if(radiobutton3.Checked)MessageBox.Show(您选对了您选对了,这是微软公司开发的操作系统这是微软公司开发的操作系统,信息提示
24、信息提示,MessageBoxButtons.OK);elseif(radiobutton1.Checked|radiobutton4.Checked)MessageBox.Show(您选错了您选错了,这是程序设计语言这是程序设计语言,信息提示信息提示,MessageBoxButtons.OK);elseMessageBox.Show(您选错了您选错了,这是数据库管理系统这是数据库管理系统,信息提示信息提示,MessageBoxButtons.OK);运行界面运行界面8.2.7图片框控件图片框控件用于在窗体的特殊位置上放置图形信息,也可以在用于在窗体的特殊位置上放置图形信息,也可以在其上放置多
25、个控件,因此它可作为其他控件的容器其上放置多个控件,因此它可作为其他控件的容器。主要属性:主要属性:Image获取或设置图片框中显示的图像。在运行时获取或设置图片框中显示的图像。在运行时再使用再使用Image.FromFile函数加载图像。函数加载图像。【例例8.5】设计一个窗体,以选择命令按钮方式显示春、夏、设计一个窗体,以选择命令按钮方式显示春、夏、秋、冬秋、冬4个季节的图片。个季节的图片。Form5窗体:窗体:(1)设计界面)设计界面(2)事件过程:)事件过程:privatevoidbutton1_Click(objectsender,EventArgse)pictureBox1.Ima
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Windows 窗体 应用 程序设计
限制150内