《(精品)第2章 窗体、控件和Visual Studio.ppt》由会员分享,可在线阅读,更多相关《(精品)第2章 窗体、控件和Visual Studio.ppt(51页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Copyright 2009 By Neusoft Group.All rights reserved.第第2章章 窗体、控件和窗体、控件和Visual Studio本章学习目标:本章学习目标:了解了解Windows窗体应用程序的各种组件窗体应用程序的各种组件掌握掌握Windows窗体控件的主要类别和功能窗体控件的主要类别和功能掌握在掌握在Windows窗体应用程序中处理事件的方法窗体应用程序中处理事件的方法 添加并配置添加并配置Windows窗体和控件窗体和控件 创建事件处理程序并监视事件创建事件处理程序并监视事件 在程序运行时向窗体添加控件和事件处理程序在程序运行时向窗体添加控件和事件处理
2、程序 目标目标创建简单创建简单Windows应用程序应用程序 控件和组件的功能分类控件和组件的功能分类 控件基类控件基类 定制控件定制控件“工具箱工具箱”Visual Studio 2005的辅助布局功能的辅助布局功能小结小结实验实验习题习题第第2章章 窗体、控件和窗体、控件和Visual Studio 使用使用Visual Studio 2005创建一个新的创建一个新的 Windows应用程序项目时,应用程序项目时,Visual Studio 2005会提供一个包含窗体的设计器视图。会提供一个包含窗体的设计器视图。创建简单创建简单Windows应用程序应用程序 2.1 创建简单创建简单Win
3、dows应用程序应用程序在使用在使用C#新建的新建的Windows窗体应用程序项目中,窗体应用程序项目中,Visual Studio 2005会自会自动生成若干文件,它们是:动生成若干文件,它们是:Windows窗体项目结构窗体项目结构 2.1.1 Windows窗体窗体项目项目结构结构Program.cs Form1.cs Form1.Designer.cs AssemblyInfo.cs Resources.resx Resources.Designer.cs Settings.settings Settings.Designer.cs 创建窗体创建窗体 2.1.2 创建窗体创建窗体在项目
4、中添加窗体的方法如下。在项目中添加窗体的方法如下。1.如果如果“解决方案资源管理器解决方案资源管理器”尚未打开,则在尚未打开,则在“视图视图”菜单中,单击菜单中,单击“解决方案资源管理器解决方案资源管理器”项。项。2.在在“解决方案资源管理器解决方案资源管理器”中,右击项目名称,中,右击项目名称,指向快捷菜单中的指向快捷菜单中的“添加添加”命令,然后单击命令,然后单击“添加添加Windows窗体窗体”命令。命令。3.在在“添加新项添加新项”对话框的对话框的“名称名称”文本框中,文本框中,输入适当的窗体名称,然后单击输入适当的窗体名称,然后单击“打开打开”按钮。按钮。当创建基于当创建基于Wind
5、ows的应用程序的用户界面时,必须为所创建的对的应用程序的用户界面时,必须为所创建的对象设置属性。象设置属性。设置窗体属性设置窗体属性 2.1.3 设置窗体属性设置窗体属性“查看属性”按钮“描述”窗口“字母排序”按钮“分类排序”按钮当前对象“查看事件”按钮下表列出在设计时通常需要设置的一些通用窗体属性。下表列出在设计时通常需要设置的一些通用窗体属性。通用窗体属性通用窗体属性 2.1.3.1 通用窗体属性通用窗体属性属性说明默认设置(Name)为项目中的窗体设置名称。(这并不是用户在窗体标题栏上所看到的名称,而是在编写程序代码时用来引用此窗体的名字。)重点:如果改变这个窗体的(Name)属性,则
6、必须将项目中的启动对象名设置为新的名称,否则项目将无法正常启动 Form1(Form2,Form3,)AcceptButton设置某个按钮,当用户按Enter键时相当于单击此按钮。注意:窗体上至少要有一个按钮时,才能使用此属性(无)通用窗体属性(续)通用窗体属性(续)2.1.3.1 通用窗体属性通用窗体属性属性说明默认设置CancelButton设置某个按钮,当用户按Esc键时相当于单击此按钮。注意:窗体上至少要有一个按钮时,才能使用此属性(无)ControlBox确定窗体是否在标题栏显示控件框。控件框可以包含“最小化”按钮、“最大化”按钮、“帮助”按钮和“关闭”按钮True(续表)(续表)通
7、用窗体属性通用窗体属性(续)(续)2.1.3.1 通用窗体属性通用窗体属性属性说明默认设置FormBorderStyle控制窗体边框的外观。此属性还将影响标题栏的显示方式以及允许在标题栏上显示的按钮SizableMaximizeBox确定窗体标题栏的右上角是否有“最大化”按钮TrueMinimizeBox确定窗体标题栏的右上角是否有“最小化”按钮TrueStartPosition确定窗体第一次出现时的位置WindowsDefaultLocationText设置显示在控件的标题栏上的文本Form1(Form2,Form3,)(续表)(续表)设置窗体属性的步骤设置窗体属性的步骤 2.1.3.2 设
8、置窗体属性的步骤设置窗体属性的步骤设置窗体属性的方法如下。设置窗体属性的方法如下。1.如果如果“属性属性”窗口尚未打开,则在窗口尚未打开,则在“视图视图”菜菜单中选择单中选择“属性窗口属性窗口”项将其打开。项将其打开。2.在设计视图中,单击想要设置其属性的窗体。在设计视图中,单击想要设置其属性的窗体。3.在在“属性属性”窗口中窗口中,选择窗体属性是按字母顺序选择窗体属性是按字母顺序还是按类别排列。还是按类别排列。4.在在“属性属性”窗口中,单击所要设置的属性。窗口中,单击所要设置的属性。5.输入或者选择所要的属性值。输入或者选择所要的属性值。向窗体添加控件的示例如下图所示。向窗体添加控件可以有
9、向窗体添加控件的示例如下图所示。向窗体添加控件可以有3种方法。种方法。为窗体添加控件为窗体添加控件 2.1.4 为窗体添加控件为窗体添加控件private void button1_Click(object sender,System.EventArgs e)/添加代码以处理所产生的单击按钮事件 事件处理事件处理 2.1.5 事件处理事件处理事件处理方法通常都有固定的形式。以下代码示例事件处理方法通常都有固定的形式。以下代码示例演示演示Button控件的控件的Click事件的事件处理程序。事件的事件处理程序。在设计时创建事件处理程序在设计时创建事件处理程序 2.1.5.1 在设计时创建在设计时
10、创建事件事件 处理程序处理程序 使用设计器创建事件处理程序的方法有以下使用设计器创建事件处理程序的方法有以下3种种。(1)默认事件处理程序)默认事件处理程序(2)“属性属性”窗口窗口(3)“代码编辑器代码编辑器”窗口窗口button1.Click+=new EventHandler(button1_Click);在程序运行时创建在程序运行时创建事件处理程序事件处理程序 2.1.5.2 在程序运行时创建在程序运行时创建 事件处理程序事件处理程序在程序运行期间创建事件处理程序时,首先必须创在程序运行期间创建事件处理程序时,首先必须创建一个方法,其方法签名(参数)必须与要处理的建一个方法,其方法签名
11、(参数)必须与要处理的事件相同。然后编写代码预定此事件,并指定事件事件相同。然后编写代码预定此事件,并指定事件处理方法,代码如下。处理方法,代码如下。在使用事件处理程序时,可能会发现以下技巧十分有用。在使用事件处理程序时,可能会发现以下技巧十分有用。更多的事件处理技巧更多的事件处理技巧 2.1.5.3 更多更多的事件处理技巧的事件处理技巧使用单个事件处理方法来处理多个事件使用单个事件处理方法来处理多个事件重写基类方法以创建事件处理方法重写基类方法以创建事件处理方法 随着窗体类被实例化,将创建窗体对象。窗体的生命周期如下图所示。随着窗体类被实例化,将创建窗体对象。窗体的生命周期如下图所示。窗体生
12、命周期窗体生命周期 2.1.6 窗体生命周期窗体生命周期创建简单创建简单Windows应用程序应用程序 控件和组件的功能分类控件和组件的功能分类 控件基类控件基类 定制控件定制控件“工具箱工具箱”Visual Studio 2005的辅助布局功能的辅助布局功能小结小结实验实验习题习题第第2章章 窗体、控件和窗体、控件和Visual Studio Visual Studio 2005“工具箱工具箱”提供大量可添加至窗体的控件和组件。下表提供大量可添加至窗体的控件和组件。下表列出部分的控件和组件,按其功能对其进行分类。列出部分的控件和组件,按其功能对其进行分类。控件和组件的功能分类控件和组件的功能
13、分类 2.2 控件和组件的功能分类控件和组件的功能分类功能控件和组件描述文本编辑TextBox在设计时或运行时显示所输入的文本RichTextBox启用带格式显示的富文本MaskedTextBox限定用户输入的格式文本显示(只读)Label显示不能直接编辑的文本LinkLabel将文本显示为指向另一窗口或 Web 站点的 Web 样式链接StatusStrip通过使用带框架的窗口,显示应用程序当前状态的相关信息控件和组件的功能控件和组件的功能分类(续)分类(续)2.2 控件和组件的功能分类控件和组件的功能分类(续表)(续表)功能控件和组件描述从列表中选择CheckedListBox显示一个可滚
14、动的项列表框,每项均带有一个复选框ComboBox显示项目下拉式列表DomainUpDown显示一个文本项列表,用户可通过使用“”和“”按钮在此列表中滚动ListBox显示一个文本和图形项(图标)列表框ListView用4种视图中之一显示项NumericUpDown显示一个数字列表,用户通过可使用“”和“”按钮在此列表中滚动TreeView显示结点对象的分层集合,这些对象可由带有复选框或图标的文本组成控件和组件的功能控件和组件的功能分类(续)分类(续)2.2 控件和组件的功能分类控件和组件的功能分类(续表)(续表)功能控件和组件描述图形显示PictureBox在框架中显示图形文件,如位图和图标
15、值设置CheckBox显示一个复选框和文本标签RadioButton显示一个可启用或禁用的按钮以及文本标签TrackBar使用户能够通过沿标尺移动滑块来设置值内容显示DataGridView在用户自定义网格中显示数行和数列数据WebBrowser使用户能够在窗体中浏览 Web 页面ProcessBar在水平条中显示相应宽度的矩形来指示操作的进度日期设置DateTimePicker显示一个图形日历以使用户能够选择日期或时间MonthCalendar显示一个图形日历以使用户能够选择日期范围控件和组件的功能控件和组件的功能分类(续)分类(续)2.2 控件和组件的功能分类控件和组件的功能分类(续表)(
16、续表)功能 控件和组件 描述 菜单控件MenuStrip显示按功能分组的应用程序命令和选项ContextMenuStrip当用户右击关联的控件时,显示一个快捷菜单命令Button提供选项以启动、停止或中断一个过程NotifyIcon在任务栏(表示一个打开的应用程序)的状态通知区域显示一个图标ToolStrip提供工具栏和其他支持多种外观选项的用户界面元素控件和组件的功能控件和组件的功能分类(续)分类(续)2.2 控件和组件的功能分类控件和组件的功能分类(续表)(续表)功能 控件和组件 描述 容器Panel将一组控件组合在一个不带标签的框架上,用户可在其中进行滚动操作FlowLayoutPane
17、l在流布局中自动排列控件GroupBox将一组控件(如选项按钮)组合在一个带标签的框架上,用户可在其中进行滚动操作TabControl提供一个选项卡页以有效地组织对象并使得用户能够访问已分组的对象TableLayoutPanel在表布局中自动排列控件SplitContainer提供由可移动分隔条所分隔的两个面板创建简单创建简单Windows应用程序应用程序 控件和组件的功能分类控件和组件的功能分类 控件基类控件基类 定制控件定制控件“工具箱工具箱”Visual Studio 2005的辅助布局功能的辅助布局功能小结小结实验实验习题习题第第2章章 窗体、控件和窗体、控件和Visual Studi
18、o 控件都是从控件都是从System.Windows.Forms.Control类继承而来的。类继承而来的。下图是下图是Control类的继承模型类的继承模型。控件基类控件基类 2.3 控件基类控件基类创建简单创建简单Windows应用程序应用程序 控件和组件的功能分类控件和组件的功能分类 控件基类控件基类 定制控件定制控件“工具箱工具箱”Visual Studio 2005的辅助布局功能的辅助布局功能小结小结实验实验习题习题第第2章章 窗体、控件和窗体、控件和Visual Studio“工具箱工具箱”显示可供显示可供 Visual Studio 2005项目使用的各种各样项目使用的各种各样的
19、项。下图是的项。下图是“选择工具箱项选择工具箱项”对话框对话框。定制控件定制控件“工具箱工具箱”2.4 定制控件定制控件“工具箱工具箱”自定义工具箱的步骤如下。自定义工具箱的步骤如下。1.在在“工具箱工具箱”中单击鼠标右键。中单击鼠标右键。2.在弹出的快捷菜单中单击在弹出的快捷菜单中单击“选择项选择项”命令。命令。3.单击单击“.NET Framework组件组件”或或“COM组件组件”选项选项卡,然后选择所需要的控件。卡,然后选择所需要的控件。定制控件定制控件“工具箱工具箱”(续)(续)2.4 定制控件定制控件“工具箱工具箱”创建简单创建简单Windows应用程序应用程序 控件和组件的功能分
20、类控件和组件的功能分类 控件基类控件基类 定制控件定制控件“工具箱工具箱”Visual Studio 2005的辅助布局功能的辅助布局功能小结小结实验实验习题习题第第2章章 窗体、控件和窗体、控件和Visual Studio 在设计一个窗体时,在设计一个窗体时,Visual Studio 2005的的“布局布局”工具栏提供工具栏提供多项功能,帮助用户调整控件的位置。多项功能,帮助用户调整控件的位置。“布局布局”工具工具栏如下图所示。栏如下图所示。Visual Studio 2005的辅的辅助布局功能助布局功能 2.5 Visual Studio 2005的的 辅助布局功能辅助布局功能“布局布局
21、”工具栏以下述部分允许对齐控件的位置工具栏以下述部分允许对齐控件的位置。底部对齐左对齐右对齐居中对齐中间对齐顶部对齐创建简单创建简单Windows应用程序应用程序 控件和组件的功能分类控件和组件的功能分类 控件基类控件基类 定制控件定制控件“工具箱工具箱”Visual Studio 2005的辅助布局功能的辅助布局功能小结小结实验实验习题习题第第2章章 窗体、控件和窗体、控件和Visual Studio 小结小结 本章介绍创建简单的本章介绍创建简单的Windows窗体应用程序的窗体应用程序的方法,并说明如何配置窗体属性以及如何向窗方法,并说明如何配置窗体属性以及如何向窗体添加控件。体添加控件。
22、2.6 小结小结创建简单创建简单Windows应用程序应用程序 控件和组件的功能分类控件和组件的功能分类 控件基类控件基类 定制控件定制控件“工具箱工具箱”Visual Studio 2005的辅助布局功能的辅助布局功能小结小结实验实验习题习题第第2章章 窗体、控件和窗体、控件和Visual Studio 习题习题 1.要在程序运行时添加一个要在程序运行时添加一个Form1窗体实例,窗体实例,代码片段代码片段_能实现上述功能。能实现上述功能。A.Form1 myForm;myForm=Form1.CreateForm();2.8 习题习题习题(续)习题(续)B.Form1 myForm;myF
23、orm.Show();2.8 习题习题C.myForm=Form1;myForm.Show();习题(续)习题(续)D.Form1 myForm;myForm=new Form1();2.8 习题习题习题(续)习题(续)2.代码片段代码片段_正确地设置了窗体的属性正确地设置了窗体的属性Text、FormBorderStyle、Size和和Opacity。A.this.Text=My Form;this.FormBorderStyle=FormBorderStyle.Fixed3D;this.Size=new Size(300,300);this.Opacity=0.5;2.8 习题习题习题(续
24、)习题(续)B.this.Text=My Form;this.BorderStyle=Fixed3D;this.Size=new Size(300,300);this.Opacity=0.5;2.8 习题习题习题(续)习题(续)C.this.Text=My Form;this.FormBorderStyle=FormBorderStyle.Fixed3D;this.Size=(300,300);this.Opacity=100%;2.8 习题习题习题(续)习题(续)D.this.Title=My Form;this.FormBorderStyle=FormBorderStyle.Fixed3D
25、;this.Size=new Size(300,300);this.Opacity=100%;2.8 习题习题习题(续)习题(续)3._事件可以用来响应鼠标单击事事件可以用来响应鼠标单击事件(选择所有可选项)。件(选择所有可选项)。A.Button.Click B.Button.LinkClicked C.Button.MouseDown D.Button.MouseOver 2.8 习题习题习题(续)习题(续)4.代码示例代码示例_正确地声明如何在名为正确地声明如何在名为Form1的窗体上添加一个的窗体上添加一个Button控件。控件。A.Form1.Controls.Add(Button)
26、;2.8 习题习题B.Button aButton=new Button();Form1.Controls.Add(aButton);习题(续)习题(续)C.Button aButton=new Button();Form1.Add(aButton);2.8 习题习题D.Form1.Add(new Button);习题(续)习题(续)5.方式方式_可以正确地添加一个控件至可以正确地添加一个控件至窗体上(选出所有可选项)。窗体上(选出所有可选项)。A.在在ToolBox中选择一个控件中选择一个控件,然后双然后双 击击FormB.在在ToolBox中选择控件中选择控件,然后用鼠标在然后用鼠标在Fo
27、rm上确定控件的大小和位置上确定控件的大小和位置C.在在ToolBox中双击控件中双击控件D.在在ToolBox中选择控件,然后将其拖曳中选择控件,然后将其拖曳至至Form中中2.8 习题习题习题习题(续)(续)6.在程序运行时,代码示例在程序运行时,代码示例_可以为可以为Button1.Click事件添加一个名为事件添加一个名为ClickHandler的事件处理方法。的事件处理方法。A.ClickHandler+=Button1.Click;2.8 习题习题B.AddHandler(Button1.Click,ClickHandler);习题习题(续)(续)C.Button1.Click+=
28、ClickHandler;2.8 习题习题D.Button1.Click+ClickHandler;习题(续)习题(续)7.假定您正在自定义一个假定您正在自定义一个 Windows 窗窗体。当用户单击任意按钮时,想让体。当用户单击任意按钮时,想让应用程序通过调用包含以下签名的应用程序通过调用包含以下签名的方法来记录有关用户操作的信息:方法来记录有关用户操作的信息:public void ctl_Click(object sender,EventArgs e),想让窗体在用户单击,想让窗体在用户单击任意任意 Button 控件且只单击控件且只单击 Button 控控件时调用此方法。件时调用此方法
29、。需要修改窗体以需要修改窗体以在不妨碍应用程序现有操作的情况在不妨碍应用程序现有操作的情况下调用此方法。下调用此方法。您应该您应该_。2.8 习题习题习题习题(续)(续)foreach(Control ctl in this.Controls)if(ctl is Button)ctl.Click+=new EventHandler(ctl_Click);2.8 习题习题A.将以下代码添加到窗体初始化程序中将以下代码添加到窗体初始化程序中习题习题(续)(续)this.Click+=new EventHandler(ctl_Click);2.8 习题习题B.将以下代码添加到窗体初始化程序中将以下代码添加到窗体初始化程序中习题(续)习题(续)2.8 习题习题C.使用使用“属性属性”窗口将窗体上每个窗口将窗体上每个 Button 控件的控件的 Click 事件设置为事件设置为对应于对应于ctl_Click 方法方法D.使用使用“属性属性”窗口窗口将窗体的将窗体的 Click 事件事件 设置为设置为对应于对应于ctl_Click 方法方法Copyright 2009 版权所有 东软集团