《C#-程序设计教程第9章.ppt》由会员分享,可在线阅读,更多相关《C#-程序设计教程第9章.ppt(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第第9 9章章 基于基于WindowsWindows的应用程序的应用程序 9.1 Windows窗体应用程序概述 9.2 Windows窗体及控件介绍 9.3 常用控件的属性、方法和事件 9.4 基于Windows Forms的程序设计12 三月 2023第第9 9章章 基于基于WindowsWindows的应用程序的应用程序12 三月 20239.1 Windows9.1 Windows窗体应用程序概述窗体应用程序概述 以下步骤新建一个Windows应用程序并了解程序及项目结构;并且在已有Windows应用程序的基础上增加一个新的窗体。1 1WindowsWindows窗体项目结构窗体项目
2、结构以下过程将创建一个Windows应用程序,并了解整个项目的基本结构。实现步骤如下:(1)点击右下角“开始”“Visual Studio 2017”打开Visual Studio 2017开发环境。(2)选择菜单“文件”“新建”“项目”,打开“新建项目”对话框,如图9-1所示。在左侧“项目类型”窗格中选择“Windows桌面”,在右侧的“模板”窗格中选择“Windows窗体应用(.NET Framework)”。12 三月 20239.1 Windows9.1 Windows窗体应用程序概述窗体应用程序概述(3)在“名称”文本框中,输入“MyFirstApplication”作为该项目的名称
3、。在“位置”文本框中,输入你准备保存项目的目录或者单击“浏览”按钮选择目录。(4)单击“确定”,Visual Studio将新建一个项目,并在窗体设计器中显示新窗体。(5)如图9-2所示,在“解决方案管理器”窗口中展开“Form1.cs”前面的“”号,双击“Form1.Designer.cs”,可以查看“Form1.Designer.cs”的代码,看程序代码的基本结构:所有的代码都属于名称空间MyFirstApplication,名称空间MyFirstApplication中包含了类Form1,类Form1包含一些变量和方法。和类和对象中我们看到的类的定义有所不同,这里Form1的前面多了一个
4、关键字partial,关键字partial允许将类、结构或接口的定义拆分到多个文件中。12 三月 20239.1 Windows9.1 Windows窗体应用程序概述窗体应用程序概述(6)既然加了关键字partial,那么类Form1的另一部分代码在什么位置呢?右键选择“Form1.cs”,在下拉菜单中选择“查看代码”,可以查看“Form1.cs”的代码。可以看到类Form1继承了Form类,并且包含构造函数Form1()调用函数InitializeComponent(),函数InitializeComponent()的定义在“Form1.Designer.cs”中。(7)双击“Program
5、.cs”,可以看到Main()函数,Main()函数是整个应用程序的入口,由此开始应用程序的运行,Application.Run(new Form1()指在当前线程上开始运行标准应用程序消息循环,并使窗体Form1可见。12 三月 20239.2 Windows9.2 Windows窗体及控件介绍窗体及控件介绍1 1、新建一个窗体、新建一个窗体 Windows窗体是一个内容丰富的编程框架,用于创建更易于使用的客户端应用程序。可以在System.Windows.Forms命名空间找到用于创建Windows桌面应用程序的类,它们统称为Windows Forms类。这个命名空间包含了Form类,它是
6、所有对话框和顶级窗口的基类。另外,System.Windows.Forms命名空间还包含管理控件的类、与剪贴板进行交互的类、菜单和打印机的类等。Windows窗体是所有控件的最高一级容器,它里面可以放置各种各样的其他控件。12 三月 20239.2 Windows9.2 Windows窗体及控件介绍窗体及控件介绍1 1、新建一个窗体、新建一个窗体(1)在“解决方案资源管理器”中右键单击项目名“MyFirstApplication”“添加”“Windows窗体”,如图9-3所示。在弹出的“添加新项”对话框中选择“Windows窗体”,在“名称”文本框中输入新建窗体的名字,例如“Form2.cs”
7、(2)点击“添加”,新建一个窗体,窗体设计器中出现Form2,解决方案资源管理器中也出现Form2。(3)点击 按钮运行程序,出现的是哪一个窗口呢?为什么?12 三月 20239.2 Windows9.2 Windows窗体及控件介绍窗体及控件介绍2 2、设置窗体属性、设置窗体属性【例9-3】在本任务中,将在【例9-2】的基础上,设置窗体的基本属性。实现步骤如下:(1)双击“解决方案资源管理器”中“Form1.cs”出现Form1所在的窗体。(2)在“属性”窗口找到Text属性,将属性值改为“第一个窗体”,如图9-5所示。(3)点击 按钮运行程序,可以看到窗体Form1的标题已经发生改变,如图
8、9-6所示。(4)除了在“属性”窗口设置控件属性,还可以在程序运行时改变控件属性。双击Form1,进入到Form1的默认事件Load,在方法内加入语句“this.Text=在代码中改变属性;”,加入语句后方法如下所示。private void Form1_Load(object sender,EventArgs e)/思考一下,代码能改为“Form1.Text=在代码中改变属性;”吗 this.Text=在代码中改变属性;(5)点击 按钮运行程序,可以看到窗体Form1的标题同样发生改变。12 三月 20239.2 Windows9.2 Windows窗体及控件介绍窗体及控件介绍3 3、向窗体
9、添加控件、向窗体添加控件【例9-4】在本任务中,将在【例9-3】的基础上,在Form1上添加一个按钮。实现步骤如下:(1)鼠标移动到悬浮在左上方的“工具箱”窗口(如果“工具箱”不存在,可以通过菜单“视图”“工具箱”打开“工具箱”窗口),双击 按钮(或者在按钮上按住鼠标左键,拖动到Form1窗体上再释放左键),都可以在窗体上添加一个Button控件,在窗体上添加其他控件方法也相同。(2)如果觉得控件的位置不合适,可以选中控件后按住鼠标左键拖动到合适的地方,然后释放鼠标左键。(3)觉得控件的大小不合适,可以选中控件,此时控件周围会出现八个小方框,将鼠标放到八个小方框中的一个,鼠标会变成箭头,按住鼠
10、标左键拖动控件到合适的大小后释放鼠标。(4)如果需要微调控件大小,按住shift键,和“”、“”、“”、“”键联合使用可以微调控件大小。12 三月 20239.2 Windows9.2 Windows窗体及控件介绍窗体及控件介绍4 4、事件处理、事件处理【例9-5】在本任务中,将在【例9-4】的基础上,为Form1上的按钮添加事件代码,当点击按钮后弹出【例9-2】中添加的Form2。实现步骤如下:(1)设置Button控件的Text属性为“显示Form2”。(2)当鼠标在控件上双击时,会自动添加该控件的默认事件,在“代码”窗口会自动添加该事件处理的代码框,只要在代码框中编辑代码即可。双击For
11、m1上的按钮,为其添加“Click”事件处理,转到“Form1.cs”代码窗口,添加代码如下:private void button1_Click(object sender,EventArgs e)Form2 form=new Form2();form.Visible=true;(3)点击 按钮运行程序,点击按钮,查看结果。12 三月 20239.3.9.3.常用控件的属性、方法和事件常用控件的属性、方法和事件 控件是带有可视化表示形式的组件。由于所有的窗体控件都是从System.Windows.Forms.Control类继承而来,所以,所有的Windows窗体控件都具有一些共性。掌握这些
12、共性是快速入门Windows编程的捷径。1 1属性属性 属性就是窗体的特征,包括控件的名称、外观、可访问性、数据等内容。不同种类的控件也会有一些属于自己的特殊属性,而掌握这些特殊属性则是掌握不同控件的关键。比如,CheckBox控件用于进行选择,所以就拥有CheckState属性用于获取或设置CheckBox的选中状态,这个属性是所有单选或多选类控件都会有的属性,但是Button控件却不具有这个属性。在代码中输入“对象名.”后,比如“button1.”,图标 后面的就是该控件所具有的属性。可以很方便的在Visual Studio集成开发环境中“属性”窗口设置控件属性(如果没有“属性”窗口,点击
13、“视图”“属性窗口”打开“属性”窗口),如图9-7所示。12 三月 20239.3.9.3.常用控件的属性、方法和事件常用控件的属性、方法和事件12 三月 20239.3.9.3.常用控件的属性、方法和事件常用控件的属性、方法和事件2 2事件事件 事件是用户和程序交互地一种最普遍的方式,事件可由用户操作、程序代码或系统生成。例如,单击按钮时会触发Click事件,加载窗体时会触发Load事件。事件产生时会发送消息,并由专门的消息处理程序翻译并处理消息。通常,事件都是C#中预先设置好的、可以被对象识别的操作。用户只需要补充事件处理代码,就可以完成对事件的响应。控件一般都有一个默认事件,双击控件时会
14、自动添加控件的默认事件。其它事件的代码添加需要点击 切换到“事件”列表,在相应事件的右侧输入框中双击后添加事件响应代码,如图9-8所示。12 三月 20239.3.9.3.常用控件的属性、方法和事件常用控件的属性、方法和事件12 三月 20239.3.9.3.常用控件的属性、方法和事件常用控件的属性、方法和事件3 3方法方法方法定义了控件类所具有的能够控制自身状态的一些操作。12 三月 20239.4 9.4 常用控件介绍常用控件介绍(1)窗体Form 窗体是所有控件的容器,窗体对应的类是Form,利用窗体的属性可以设置窗体位置、大小、颜色、标题、是否透明等。窗体可以响应多种事件,如单击、双击
15、、加载、关闭、大小改变、位置改变等等。窗体的默认事件为Load。(2)按钮Button 按钮控件Button 允许用户通过单击按钮来执行操作。当按钮被单击时,即调用Click事件处理程序,可将代码放入Click事件处理程序来执行所需要的操作。Button类的Text属性可用来表示按钮上显示的标题文本。(3)标签Label 标签控件Label 用来显示用户不能编辑(窗体运行后无法编辑)的文本,常用属性为Text。12 三月 20239.4 9.4 常用控件介绍常用控件介绍(4)文本框TextBox 文本框TextBox 提供一个文本编辑区域,用于显示用户输入或显示文本,常用属性为Text,默认事
16、件为TextChanged,当文本框中的文本发生变化时触发。此外还有KeyDown、KeyPress和KeyUp事件,用于响应键盘按键事件。可以通过设置Multiline属性为True使文本框变为多行,PasswordChar属性可以设置密码字符,ReadOnly属性为True可以让文本框只读。12 三月 20239.4 9.4 常用控件介绍常用控件介绍(5)单选框RadioButton 单选框RadioButton,当同一组有多个单选按钮时,只能有一个单选按钮被选中。其中同一个容器中的单选按钮是一组,窗体Form、面板Panel和群组框GroupBox是常用容器。符号的右边为选项说明文字,可
17、以通过Text属性设置。Checked属性用来设置或者判断控件是否选中,Checked属性值为True符号为,为False符号为。RadioButton控件的默认属性为CheckedChanged事件,当用户单击单选按钮时,其选中状态会改变,同时触发CheckedChanged事件。(6)复选框CheckBox 复选框CheckBox,用户可以在多个复选框中选择一个和多个,选中状态为,未选中状态为。CheckBox控件的属性和事件与RadioButton控件基本一样,此处不再赘述。12 三月 20239.4 9.4 常用控件介绍常用控件介绍(7)列表框ListBox 列表框ListBox 用来
18、以项的形式显示一系列选项,并可从中选择一项或多项。如果有较多的选项,超出列表框区域而不能一次全部显示时,会自动加上滚动条。列表框最主要的特点是只能从中选择,不能直接写入或修改其内容。默认事件为SelectedIndexChanged,当SelectedIndex属性更改后发生。GetSelected方法返回一个值指示是否选定了指定项。l SelectionMode属性:属性值为One表示同时只能有一个选项被选中,属性值为MultiSimple时可以用鼠标来进行多选,属性值为MultiExtended时可以用Ctrl或Shift键+鼠标进行多选。l SelectedIndex属性:返回列表框中第
19、一个选定项的下标。l SelectedItem属性:返回列表框中第一个选定项,通常是字符串值。12 三月 20239.4 9.4 常用控件介绍常用控件介绍Items属性:获取对当前存储在列表框中的项的引用,其值是列表框中所有项的集合。“列表框名.Items.Count”返回总行数。可以通过“列表框名.Items下标”来获取或者设置某一项的值,可以通过它来编辑列表框中的选项,Items常用方法有:Add方法(在列表框中添加新项);Insert方法(在列表框中的指定索引位置添加新项);Clear方法(清除列表框中的所有项);Remove方法(删除列表框中相符的项);RemoveAt方法(删除列表框
20、中指定索引位置的项)。12 三月 20239.4 9.4 常用控件介绍常用控件介绍(8)组合框ComboBox 组合框ComboBox 是组合了文本框和列表框的特性而形成的一种控件,其作用与ListBox类似,但是占用的空间要小,常用的属性为Items,默认事件为SelectedIndexChanged。DropDownStyle属性:属性值为Simple时,显示在窗体中的是文本框和列表框,列表框不能被收起;属性值为DropDown时即可在输入,又可选择;属性值为DropDownList时只可选择不可输入。12 三月 20239.4 9.4 常用控件介绍常用控件介绍(9)图片框PictureB
21、ox 图片框PictureBox 用来显示图像。通过Image属性旁的 选择图片框中的图片。ImageLocation属性用来设置图片文件的路径,可以是相对路径(相对路径的参照物是最后编译生成的可执行文件exe)也可以是绝对路径。12 三月 20239.4 9.4 常用控件介绍常用控件介绍(10)图片列表组件ImageList图片列表组件ImageList 相对于一个图片数组,主要功能是为程序提供一系列同一尺寸的图片,在使用这些图片时,使用索引号即可。通过Images属性旁的 将零散的图片组成一个数组,使用“ImageList组件对象名.Images下标”即可访问图片。ImageList在运行时是不可见的,在设计时,会自动添加到“窗体设计器”的下方。12 三月 20239.4 9.4 常用控件介绍常用控件介绍(11)计时器Timer 计时器Timer,每隔Interval时间触发一次Tick事件。默认事件为Tick。Inerval属性:计时器工作的时间间隔,单位为毫秒。Enabled属性:Enabled属性值为True计时器开始工作,Enabled属性值为False计时器停止工作。
限制150内