收藏 分销(赏)

c程序设计基础教程实验习题赵敏电子教案省公共课一等奖全国赛课获奖课件.pptx

上传人:天**** 文档编号:3470971 上传时间:2024-07-07 格式:PPTX 页数:51 大小:272.67KB
下载 相关 举报
c程序设计基础教程实验习题赵敏电子教案省公共课一等奖全国赛课获奖课件.pptx_第1页
第1页 / 共51页
c程序设计基础教程实验习题赵敏电子教案省公共课一等奖全国赛课获奖课件.pptx_第2页
第2页 / 共51页
c程序设计基础教程实验习题赵敏电子教案省公共课一等奖全国赛课获奖课件.pptx_第3页
第3页 / 共51页
c程序设计基础教程实验习题赵敏电子教案省公共课一等奖全国赛课获奖课件.pptx_第4页
第4页 / 共51页
c程序设计基础教程实验习题赵敏电子教案省公共课一等奖全国赛课获奖课件.pptx_第5页
第5页 / 共51页
点击查看更多>>
资源描述

1、第6章 Windows应用程序开发Windows应用程序是基于Microsoft Windows平台上一个经典可视化应用程序,尤其适合于包含丰富图形用户界面应用程序。Windows应用程序运行之后,往往显示一个或多个Windows窗体,含有友好交互功效。使用.NET Framwork和C#语言能够开发功效强大Windows窗体应用程序。第1页6.1 窗体在Windows窗体应用程序中,“窗体”是向用户显示信息可视界面,窗体包含可添加到窗体上各种控件。而“控件”是显示数据或接收输入数据相对独立用户界面(User Interface,UI)元素,如文本框、按钮、下拉框和单项选择按钮等。用户还能够使

2、用UserControl类自定义控件实现特殊功效。每个Windows窗体应用程序都最少拥有一个窗体,而且需要导入System.Windows.Forms命名空间。第2页1窗体属性窗体属性决定了窗体外观和操作。大部分属性既能够在设计阶段经过属性窗口设置,也能够在程序运行时动态设置,少部分属性只能在设计阶段进行设置,或只能在运行期间设置。表6-1为窗体惯用属性。第3页表6-1 窗体惯用属性属 性描 述Name窗体名称Text窗体标题栏文本SizeWidthHeight获取或设置窗体大小,如this.Size=new Size(30,30)其中Size.Width等效于窗体Width属性值其中Siz

3、e.Height等效于窗体Height属性值StartPositon窗体运行时在屏幕上显示初始位置WindowState 窗体运行时初始状态,只能在设计阶段经过属性窗口设置。Normal:正常窗口状态;Minimized:最小化状态;Maxmized最大化状态Icon窗体图标LocationXY设置窗体在屏幕上显示位置,如this.Location=new Point(500,50)横坐标值纵坐标值第4页Font窗体字体,如this.Font=new Font(宋体,9,FontStyle.Bold);ForeColorBackColor窗体上显示文字颜色,如this.ForeColor=Co

4、lor.Red;窗体背景颜色BackgroundImage窗体背景图片BackgroundImageLayout窗体背景图片布局方式,Tile(平铺)、Center(居中)、Stretch(拉伸)、Zoom(缩放)Cursor鼠标光标在窗体中显示样式FormBorderStyle窗体边框样式,只能在设计阶段经过属性窗口设置Enable窗体是否可用第5页在设计阶段设置窗口属性:首先在窗体设计器中选中窗体,然后在属性窗口中单击“属性”按钮,查看属性窗口左侧栏,选择要修改窗体属性,在对应属性右侧栏中输入或选择属性值(有属性是枚举型)。如修改窗体Text属性为“窗体”,则在Text属性对应右侧栏中输入

5、“窗体”,第6页2窗体事件当用户经过鼠标或键盘与窗体交互操作时,会产生各种事件。经过创建事件处理程序,用户能够实现各种处理功效。惯用事件如表6-2所表示。在属性窗口中,单击“事件”按钮能够查看窗体全部事件。第7页表6-2 窗体惯用事件事 件描 述Click鼠标触发事件,在单击窗体时发生DoubleClick鼠标触发事件,在双击窗体时发生MouseDown鼠标触发事件,按下任一鼠标键时发生MouseUp鼠标触发事件,释放任一鼠标键时发生MouseMove鼠标触发事件,鼠标移动时发生KeyPress键盘触发事件,按下并释放一个会产生ASCII码键时发生KeyDown键盘触发事件,按下任一键时发生K

6、eyUp键盘触发事件,释放任一键时发生第8页Load 在第一次显示窗体前发生,当应用程序开启时自动执行Load事件,所以该事件通惯用来在开启应用程序时初始化属性和变量Activated当使用代码激活或用户激活窗体时发生Resize在调整控件大小时发生FormClosing当用户关闭窗体时,在窗体已关闭并指定原因之前发生FormClosed当用户关闭窗体时,在窗体已关闭并指定原因之后发生第9页程序开启运行时,首先触发这些事件中Load事件。在编写应用程序时,通常把一些初始化工作放在Load事件中。在窗体设计器中,选中窗体(单击窗体空白处),单击窗体属性窗口“事件”按钮,然后双击某一事件选项(如双

7、击窗体Click事件,如图6.2所表示),系统就会在代码编辑窗口自动生成该事件框架,第10页初学者不要在代码编辑窗口手动输入该框架,因为系统在代码编辑窗口自动生成框架同时,也在Form1.Designer.cs文件中加载了相关代码。程序员只需在Click事件框架基础上进行填写代码。代码加在一对花括号中间。第11页【例6-1】单击窗体时,修改窗体Text属性为“触发窗体Click事件”。触发窗体单击事件前后标题改变。事件代码以下private void Form1_Click(object sender,EventArgs e)this.Text=触发窗体Click事件;/运行时设置窗体Text

8、属性 第12页3窗体惯用方法在代码编辑器中输入一个对象名及“.”运算符后,会自动弹出一个下拉表框,显示出该对象能够使用属性、事件、方法,如图6.6所表示,图中close方法前面图标代表方法。在弹出下拉表框中经过鼠标(或经过键盘)选中某一方法后,按回车键,则该方法自动添加到代码编辑器中。表6-3列举了窗体惯用方法。第13页图6.6 窗体方法第14页表6-3 窗体惯用方法方 法描 述Activate()激活窗体并赋予它焦点Close()关闭并卸载窗体Hide()隐藏窗体Show()加载并显示非模态窗体ShowDialog()加载并显示模态窗体Refresh经过重绘更新窗体及其子控件外观BringT

9、oFront将窗体移动到其它窗体前面SendToBack()将窗体移动到其它窗体后面SetBounds()将窗体边界设置为指定位置和大小第15页6.2 Windows惯用控件使用Windows惯用控件有标签、按钮、文本框、单项选择按钮、复选按钮、列表框、组合框、分组框、面板、图片框等。第16页1为窗体添加控件通常使用窗体设计器向窗体中添加控件。首先在窗体设计器中打开要添加控件窗体(在处理方案资源管理器中双击对应窗体节点即可打开该窗体),然后打开工具箱窗口(面板)。可使用以下几个方法向窗体中添加控件:双击工具箱中控件,将在窗体默认位置添加默认大小控件。在工具箱中选中一个控件,按住鼠标左键不放,这

10、时鼠标指针变成该控件在工具箱中图标形状,把鼠标指针移到窗体对应位置,然后松开鼠标左键 第17页2调整控件控件添加到窗体中之后,能够对控件进行调整,包含其位置、大小、对齐方式等。要调整控件摆放,首先要选中窗体中控件(假如要选择多个控件时,能够先按下CTRL键或SHIFT键,同时用鼠标单击要选择其它控件;或者按下鼠标左键拖动鼠标,选择一个范围,该范围内控件均被选中),然后经过格式菜单或工具栏上格式按钮进行调整。如图6.8所表示为调整窗体中全部控件左对齐。第18页图6.8 调整控件左对齐 第19页3设置控件Tab键次序控件Tab键次序决定了当用户使用Tab键切换焦点时次序。默认情况下,控件Tab键次

11、序就是控件添加到窗体次序。能够使用“视图”“Tab键次序”菜单项把窗体设计器切换到Tab键次序选择模式,再次使用该命令将切换回设计模式,如图6.9所表示。另外,也能够经过在属性窗口中设置控件TabIndex属性来改变它们Tab键次序。第20页 图6.9 显示控件Tab键次序 第21页4惯用控件属性属 性描 述Anchor设置控件哪个边缘锚定到其容器边缘Dock设置控件停靠到父容器哪个边缘Name设置或获取控件名称Text设置或获取与此控件关联文本SizeWidthHeight设置或获取控件大小,如textBox1.Size=new Size(30,30)其中Size.Width等效于控件Wid

12、th属性值其中Size.Height等效于控件Height属性值Parent设置或获取控件父容器LocationXY设置控件在其容器中显示位置,如textBox1.Location=new Point(500,50)设置或获取控件左边界到容器左边界距离设置或获取控件顶部到容器顶部距离第22页Font设置或获取控件显示文字字体,如textBox1.Font=new Font(宋体,9,FontStyle.Bold);ForeColorBackColor设置或获取控件前景颜色设置或获取控件背景颜色Cursor设置或获取当鼠标指针位于控件上时显示光标样式TabIndex设置或获取控件容器上控件Tab

13、键次序TabStop设置用户能否使用Tab键将焦点放在该控件上Tag设置或获取包含相关控件数据对象Visible设置是否在运行时显示该控件Enable设置控件是否能够对用户交互做出响应第23页5惯用控件事件事 件描 述Click鼠标触发事件,在单击控件时发生DoubleClick鼠标触发事件,在双击控件时发生DragDrop当一个对象被拖放到控件上、用户释放鼠标时发生DragEnter当被拖动对象进入控件边界时发生DragLeave当被拖动对象离开控件边界时发生DragOver当被拖动对象在控件范围时发生MouseDown当鼠标指针位于控件上并按下鼠标键时发生MouseUp当鼠标指针位于控件上

14、并释放鼠标键时发生MouseMove鼠标指针移到控件上时发生KeyPress控件有焦点情况下,按下任一键时发生,在KeyUp前发生第24页KeyDown控件有焦点情况下,按下任一键时发生,在KeyPress前发生KeyUp控件有焦点情况下,释放任一键时发生GetFocus在控件取得焦点时发生LostFocus当控件失去焦点时发生Paint在重绘控件时发生Resize在调整控件大小时发生Validated在控件完成验证时发生Validating在控件正在验证时发生第25页6.2.1 标签控件和超链接标签控件1 1标签控件标签控件(Label(Label控件控件)LabelLabel控件,在工具箱

15、中图标是,用于显示控件,在工具箱中图标是,用于显示(输出输出)文本或图像信息。文本或图像信息。LabelLabel控件也能够用来为其它控件定义访问键。在控件也能够用来为其它控件定义访问键。在标签标签(Label)(Label)控件中定义访问键时,用户能够按控件中定义访问键时,用户能够按ALTALT键和指定字符将焦点移动到键和指定字符将焦点移动到TabTab键次序中下一键次序中下一个控件上。因为标签无法接收焦点,所以焦点自个控件上。因为标签无法接收焦点,所以焦点自动移动到动移动到TabTab键次序中下一个控件上。为标签设定键次序中下一个控件上。为标签设定访问键步骤:访问键步骤:(1)(1)向窗体

16、中添加一标签控件,然后绘制另一个向窗体中添加一标签控件,然后绘制另一个控件。或按任意次序添加控件,并将该标签控件。或按任意次序添加控件,并将该标签TabIndexTabIndex属性设置为比另一个控件小属性设置为比另一个控件小1 1。(2)(2)将该标签将该标签UseMnemonicUseMnemonic属性设置为属性设置为True(UseMnemonicTrue(UseMnemonic属性允许用户启用访问键功效属性允许用户启用访问键功效)。在该标签在该标签TextText属性中使用属性中使用“and”and”符符(&)(&)为该标签为该标签分配访问键。分配访问键。第26页比如,向带标签控件分

17、配访问键,打开项目和窗体,向窗体中添加标签控件,然后按任意次序添加TextBox控件若干,并将标签TabIndex属性设置为1,另一个控件textBox1TabIndex属性设置为2(确保比上述标签TabIndex属性大1即可)。将该标签UseMnemonic属性设置为True。该标签Text属性设置为“ab&v”,在字符“v”前使用“and”符(&)为该标签分配访问键。此时标签变为,当程序运行时,同时按下ALT键和v键,textBox1将取得焦点。第27页标签除了含有惯用属性外,还有如表标签除了含有惯用属性外,还有如表6-6所表示属性所表示属性 属 性描 述Image设置或获取显示在Labe

18、l上图像ImageList设置或获取包含要在Label控件上显示图像图像列表ImageListImageIndex与ImageList组合使用,ImageList中图像索引号TextAlignImageAlign设置或获取标签汉字本/图像对齐方式AutoSize设置或获取一个值(True或False),表示是否自动调整控件大小以完整显示标签中内容BorderStyle设置或获取控件边框样式。其值为枚举型:None(无边框)、FixedSingle(单行边框)、Fixed3D(三维边框)第28页2超链接标签控件(LinkLabel控件)LinkLabel 控件也叫超链接标签控件,在工具箱中图标是

19、,它除了含有Label控件全部属性、方法和事件外,还有针对超链接和链接颜色属性及事件,如表6-7所表示 属性/事件描 述属性LinkColor设置或获取显示普通链接时使用颜色VistedLinkColor设置或获取显示以前访问过链接时所使用颜色DisabledLinkColor设置或获取显示禁用链接时所用颜色LinkBehavior设置或获取一个表示链接行为值事件LinkClicked当单击控件内链接时发生第29页【例6-2】创建一个Windows窗体应用程序,其项目名为ex06-02。在“资源管理器”中选中该项目,单击鼠标右键,选择“添加”“Windows窗体”菜单项,进入添加新项窗口,创建

20、新窗体Form2。然后在form1linkLabel1LinkClicked事件中填写代码。在LinkClicked事件处理中,调用Show方法打开刚才建立窗体,并将linkLabel1.LinkVisited属性设置为True。观察窗体改变.第30页代码以下:private void linkLabel1_LinkClicked(object sender,LinkLabelLinkClickedEventArgs e)Form2 f2=new Form2();f2.Text=被链接窗口;f2.Show();linkLabel1.LinkVisited=true;/表示已被链接过 第31页【

21、例6-3】使用LinkLabel控件开启Internet Explorer,并链接到Web网页 在linkLabel1控件LinkClicked事件中编写以下代码:private void linkLabel1_LinkClicked_1(object sender,LinkLabelLinkClickedEventArgs e)/调用Process.Start方法来经过一个URL打开默认浏览器 System.Diagnostics.Process.Start(http:/);其中,System.Diagnostics.Process.Start方法以某个URL开启默认浏览器。第32页6.2.

22、2 按钮控件Button(按钮)控件,在工具箱中图标是,功效是在窗体上创建一个按钮,允许用户经过单击它来完成指定操作。每当用户单击按钮后,就会触发Click事件处理程序。单击Button控件后还会触发其它事件,如MouseEnter、MouseDown等,假如要为这些事件设置相关事件处理程序,则要确保它们之间操作不会有冲突。另外,按钮控件不支持双击事件。第33页【例例6-4】单击单击Button1,改变,改变Label1字体、颜色。字体、颜色。创建一个Windows窗体应用程序,项目名称为ex06-04,向窗体中添加一个Button控件和一个Label控件。在Button1Click事件中编写

23、以下代码:private void button1_Click(object sender,EventArgs e)label1.Text=Button单击事件修改Label属性;label1.Font=new Font(宋体,16,FontStyle.Bold);label1.ForeColor=Color.Red;第34页【例例6-5】经过本例了解按钮鼠标按下事件、单击事件、鼠经过本例了解按钮鼠标按下事件、单击事件、鼠标抬起事件,当用鼠标单击按钮时,这些事件依次发生次序标抬起事件,当用鼠标单击按钮时,这些事件依次发生次序 代码以下:namespace ex06_05 public part

24、ial class Form1:Form public Form1()InitializeComponent();private void button1_Click(object sender,EventArgs e)label1.Text+=按钮单击事件n;private void button1_MouseDown(object sender,MouseEventArgs e)label1.Text+=按钮鼠标键按下事件n;private void button1_MouseUp(object sender,MouseEventArgs e)label1.Text+=按钮鼠标键抬起事件n

25、;第35页6.2.3 文本框控件、富文本框控件1TextBox控件TextBox(文本框)控件,在工具箱中图标是,功效是获取用户在窗体内输入或显示文本。文本框控件不但能够编辑单行文本,还能够编辑多行文本。在单行文本编辑情况下,用户能够使用文本框Text属性访问其中内容;在多行文本编辑情况下,则要使用Lines属性,它是一个字符串数组,其中每个元素对应多行文本中一行。用户在文本框中所能输入字符数只受可用内存限制,但能够设置MaxLength来限制所能输入字符数。在通常情况下,文本框中不能使用Enter键进行换行或使用Tab键输入制表符,这两个键默认行为是触发窗体AcceptButton属性Cli

26、ck事件和切换输入焦点,要想在文本框中进行换行操作需Ctrl+Enter组合键。第36页假如仍希望在文本框中使用Enter键和Tab键,则需要把文本框AcceptsReturn属性和AcceptsTab属性设置为True。TextBox控件惯用属性如表6-8所表示,TextBox控件惯用事件见表6-9所表示,TextBox控件惯用方法如表6-10所表示。第37页表6-8 TextBox控件惯用属性属属 性性描描 述述PasswordChar用来替换在单行文本框中输入文本密码字符(仅在MultiLine为False时有效)MultiLine为为True,则允许用户输入多行文本信息;为,则允许用户

27、输入多行文本信息;为False,则为单行文本,则为单行文本Scrollbars当当MultiLine为为True时,指定文本框是否显示滚动时,指定文本框是否显示滚动条条WordWrap当MultiLine为True时,一行文本宽度超出文本框宽度时,是否允许自动换行MaxLength允许输入到文本框中最大字符数SelectedText文本框中被选中文本(程序运行时设置)SelectionLength文本框中被选汉字本字符数(程序运行时设置)第38页SelectionStart文本框中被选汉字本开始位置(程序运行时设置)ReadOnly若为True,表示文本框中文本为只读CharacterCasi

28、ng是否自动改变输入字母大小写,默认为Normal,Lower为小写,Upper为大写CausesValidation若为True,控件取得焦点时,将触发Validating、Validated事件第39页表6-9 TextBox控件惯用事件事事 件件描描 述述Enter成为活动控件时发生成为活动控件时发生GetFocus控件取得焦点时发生(在Enter事件之后发生)Leave从活动控件改变为不活动控件时发生KeyDown文本框取得焦点,有键按下时发生KeyPress文本框取得焦点,有键按下后释放时发生(在KeyDown事件之后发生)KeyUp文本框取得焦点,有键按下后释放时发生(在KeyPr

29、ess事件之后发生)TextChanged文本框内文本信息发生改变时发生第40页表6-10 TextBox控件惯用方法方方 法法描描 述述AppendText()在文本框当前文本末尾追加新文本Clear()去除文本框中全部内容Copy()将文本框中被选中文本复制到剪贴板中Cut()将文本框中被选中文本剪切到剪贴板中Paste()将剪贴板中内容复制到文本框中当前位置Focus()将文本框设置为取得焦点Select()在文本框中选择指定起点和长度文本SelectAll()在文本框中选择全部文本DeselectAll()取消文本框中选择第41页【例6-6】编一程序,完成登录功效。在类别textBox

30、3中,假如输入是管理员或普通用户,则Button1有效,不然Button1无效。textBox2中输入数字长度要大于等于6,而且只能输入数字。本例所需控件及属性值如表6-11所表示 第42页表6-11 各个控件属性及其值控 件属 性值控 件属 性内 容Label1Text账户textBox1Text输入是账户Label2Text密码textBox2Text输入是密码(数字)Label3Text类别textBox2PasswordChar*Button1Text登录textBox3Text输入是类别第43页namespace ex06_07 public partial class Form1:

31、Form public Form1()InitializeComponent();private void textBox3_Validating(object sender,CancelEventArgs e)/在验证控件时触发在验证控件时触发 if(textBox3.Text=管理员管理员|textBox3.Text=普通用户普通用户)MessageBox.Show(请登录请登录);/弹出消息框,调用消息框弹出消息框,调用消息框Show方法方法 button1.Enabled=true;else textBox3.Focus();/textBox3取得焦点取得焦点 MessageBox.S

32、how(请重新输入是普通用户还是管理员请重新输入是普通用户还是管理员);button1.Enabled=false;/Button1设为无效设为无效 第44页 private void textBox2_Validated(object sender,EventArgs e)/成功验证后触发 if(textBox2.Text.Length 6)MessageBox.Show(密码长度大于等于6);textBox2.Focus();第45页 private void textBox2_KeyPress(object sender,KeyPressEventArgs e)/键按下事件,整个按键动作

33、完成后触发,对CTRL、ALT等控制键无反应 /假如密码栏输入是非数字则拒绝接收 if(e.KeyChar 57)&e.KeyChar!=8)e.Handled=true;/拒绝接收键入字符 private void button1_Click(object sender,EventArgs e)Form2 tt=new Form2();/创建一个Form2类对象tt。需先建立Form2窗体 tt.Show();/显示另一窗体 第46页2RichTextBox控件RichTextBox控件也叫富文本框控件,它能够处理有格式文本,还能够显示字体、颜色、链接、嵌入图像等。第47页RichTextB

34、ox控件惯用属性和方法 属性属性/方法方法描描 述述CanRedo若为True,则允许恢复上一个被撤消操作CanUndo若为True,则允许撤消上一个操作RedoActionName经过Redo()方法执行操作名称UndoActionName假如用户选择撤消某个动作,该属性将取得该动作名称Rtf包含Rtf格式文本(与Text属性相对应)SelectedRtf设置或获取被选中RTF格式文本SelectedText设置或获取被选中文本,丢弃全部格式信息第48页SelectionAlignment被选汉字本对齐方式(Center,Left,Right)SelectionBullet被选汉字本项目号S

35、electionColor被选汉字本颜色SelectionFont被选汉字本字体SelectionProtected被选汉字本是否允许被修改,若为True,则处于写保护状态Redo()方法方法恢复上一个被撤消操作Undo()方法方法撤消上一个操作Find()方法方法查找是否存在特定字符串,存在则返回第一个字符串位置,不然返回-1LoadFile()方法方法将指定路径下RTF文件或TXT文件内容载入RichTextBox并显示SaveFile()方法方法将RichTextBox中内容以RTF或其它特定类型文件格式保留到指定路径下第49页6.2.4 单项选择按钮控件RadioButton(单项选择

36、按钮单项选择按钮)控件,在工具箱中图控件,在工具箱中图标是,该控件能够显示文本、图像或同时显示二标是,该控件能够显示文本、图像或同时显示二者。在一个容器内假如有多个者。在一个容器内假如有多个RadioButton,那,那么只允许有一个么只允许有一个RadioButton处于选中状态。该处于选中状态。该特征使得特征使得RadioButton只适合于允许用户选取一只适合于允许用户选取一个选项情况。使用个选项情况。使用Text属性能够设置其显示文本。属性能够设置其显示文本。当单击当单击RadioButton控件时,其控件时,其Checked属性设属性设置为置为True,并调用,并调用Click事件处理程序。当事件处理程序。当Checked属性值更改时,将引发属性值更改时,将引发CheckedChanged事件事件 第50页 RadioButton控件主要属性和事件属性属性/事件事件描描 述述属性属性Checked设置或获取设置或获取RadioButton是否是否(True或或False)处于选中状态处于选中状态Appearance设置或获取一个值,该值确定RadioButton外观事件事件CheckedChanged当Checked属性值更改时触发第51页

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服