C#程序设计教程(第2版)第8章 可视化程序设计ppt课件.ppt

上传人:小飞机 文档编号:2002303 上传时间:2022-12-30 格式:PPT 页数:54 大小:710KB
返回 下载 相关 举报
C#程序设计教程(第2版)第8章 可视化程序设计ppt课件.ppt_第1页
第1页 / 共54页
C#程序设计教程(第2版)第8章 可视化程序设计ppt课件.ppt_第2页
第2页 / 共54页
C#程序设计教程(第2版)第8章 可视化程序设计ppt课件.ppt_第3页
第3页 / 共54页
C#程序设计教程(第2版)第8章 可视化程序设计ppt课件.ppt_第4页
第4页 / 共54页
C#程序设计教程(第2版)第8章 可视化程序设计ppt课件.ppt_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《C#程序设计教程(第2版)第8章 可视化程序设计ppt课件.ppt》由会员分享,可在线阅读,更多相关《C#程序设计教程(第2版)第8章 可视化程序设计ppt课件.ppt(54页珍藏版)》请在三一办公上搜索。

1、第8章 可视化应用程序设计,内容提要: 可视化应用程序的含义 Windows窗体的基本属性 控件的概念、共有的属性、事件和方法 常用的控件目的要求: 理解属性和事件的意义 掌握控件共有的属性、事件和方法 掌握常用控件的用法重点难点: 常用控件及控件的属性、事件和方法,8.1 Windows窗体 Windows应用程序设计是作为图形用户界面(GUI)设计的。用户通过一些简单的操作(如鼠标的点击)来引发一些事件。 Windows应用程序的界面是以窗体(Form)为基础的,窗体是Windows应用程序的基本单位,是一小块屏幕区域,主要用来向用户展示信息和接受用户的输入。,8.1.1 Windows窗

2、体的基本属性 1. 窗体的名称属性(Name) 设置窗体名称的属性是Name, 该属性值主要用于在程序代码中引用窗体。在初始新建一个Windows应用程序项目时,自动创建一个窗体,该窗体的名称被默认为Form1;添加第2个窗体,其名称被默认为Form2,依次类推。 2. 窗体的标题属性(Text) Text属性用于设置窗体标题栏显示的内容,它的值是一个字符串。,窗体的控制菜单属性 (1) ControlBox属性:用来设置窗体上是否有控制菜单 (2) MaximizeBox属性:用于设置窗体上的最大化按钮 (3) MinimizeBox属性 :用于设置窗体上的最小化按钮,4. 影响窗体外观的属

3、性 (1)FormBorderStyle属性:用于控制窗体边界的类型, 有7个可选值 。 None、Fixed3D、FixedDialog、FixedSingle、 Sizable、FixedToolWindow、SizableToolWindow (2)Size属性:用来设置窗体的大小。 (3)Location属性:设置窗体在屏幕上的位置,即设置 窗体左上角的坐标值。,(4)BackColor属性:用于设置窗体的背景颜 色,可以从弹出的调色 板中选择。 (5)BackgroundImage属性:用于设置窗体的背 景图像。 (6)Opacity属性:该属性用来设置窗体的透明 度,其值为100%

4、时,窗体完 全不透明;其值为0%时,窗 体完全透明。,8.1.2 创建窗体编写一个简单的Windows窗体的步骤: 1.设计应用程序窗体 (1)创建空白窗体 (2)设置窗体属性 2.向窗体添加控件 3.为控件添加事件,VC#提供了多窗体处理能力,在一个项目中可创建多个窗体,添加新窗体的方法:(1)选择项目菜单下的“添加Windows窗体”命令,打开“添加新项”对话框,如图所示。(2)在“添加新项”对话框的模板框内,选择“Windows窗体”模板,然后,单击“打开”按钮,就添加了一个新Windows窗体。添加第2个窗体的默认名称为Form2,依此类推。,“添加新项”对话框,8.1.3 设置启动窗

5、体属性 设置启动窗体的步骤如下: (1)选择“视图(View)”菜单下的“属性页面 (Properties Window)” 命令,或者在解 决方案资源管理器中,右键单击所创建的 项目名称, 在弹出的快捷菜单中选择“ 属 性”菜单项,这时会出现“属性页面”对话框。,(2)在“属性页面(Properties)”对话框的启动对象列 表框内,选择作为启动窗体的窗体名称。(3)单击“确定”按钮。,属性页面(Properties Window)”对话框,8.2 控件概述 窗体就好像一个容器,其他界面元素都可以放置在窗体中。一般来说,用户设计的窗体都是类Form的派生类,用户窗体中添加其他界面元素的操作实

6、际上就是向派生类中添加私有成员。 控件是包含在窗体上的对象,是构成用户界面的基本元素,工具箱中包含了建立应用程序的各种控件,常用的Windows窗体控件放在“Windows窗体”选项卡下。,8.2.1 控件的基本属性 (1)Name属性 (2)Text属性 (3)尺寸大小(Size)和位置(Location)属性 (4)字体(Font)属性 (5)颜色(BackColor、ForeColor)属性 (6)可见(Visable)和有效(Enabled)属性,8.2.2 控件共有的属性、事件和方法 在C#中,所有控件及类都是继承System.Object类的,它是所有控件与类的基类。System.

7、Object类 当一个类没有规定基类时,编译器会默认把System.Object类定义其基类,并且所有的派生类都可以利用或覆盖System.Object类中的函数。,System.Object类的方法:(1)ToString方法: 可以覆盖ToString方法。系统为用户提供了一个对象所属类的最好描述,否则将只会显示出对象所属类的名称。(2)Equals方法: Equals方法判断两个对象是否拥有同样的类型和内容。它经常应用在数组和集合中,用于判断是否是同一对象。(3)GetHashCode方法: .NET Framework提供了一个散列表(Hashtable)类,它能够通过一个代码快速地查

8、找某个对象。,2. Control类所有的窗体控件都派生自System.Windows.Forms.Control类。Control类作为各种窗体控件的基类,Control类实现了所有窗体交互控件的基本功能:处理用户键盘输入、处理消息驱动、限制控件大小等。 Control类的属性、方法与事件是所有窗体控件所公有的。,(1)Control类的属性 Text属性 Text属性是与控件对象实例关联的一段文本,是给用户看的或让用户输入的。 在程序中可以直接访问Text属性,取得或设置Text的值。 Anchor属性 Anchor属性是用来确定此控件与其容器控件的固定关系的。 对于Anchor属性,可以

9、设定Top、Bottom、Right、Left中的任意几种。,Dock属性 Dock属性规定了子控件与父控件的边缘依赖关系(即停靠到父控件的哪些边)。Dock的值有6种: None、Top、Left、Fill、Right、Left。Capture属性 Capture属性如果设为真,则鼠标就会被限定只由此控件响应,不管鼠标是否在此控件的范围内。,(2)Control类的方法 Control类中的方法:可以调用Control类的方法来获得控件的一些信息,或者设置控件的属性值及行为状态。 例如:Focus方法可设置此控件获得的焦点;Select方法可激活控件;Show方法可显示控件;Hide方法可隐

10、藏控件等。,(3)Control类的事件 当用户进行某一项操作时,会引发某个事件的发生,此时就会调用预先编写的事件处理程序代码,实现对程序的控制。 Control类的可响应的事件有:单击时发生的Click事件;光标改变时发生的Cursorchanged事件;双击时发生的DoubleClick事件;拖动时发生的DragDrop事件;鼠标移动时发生的MouseMove事件等。,8.3 命令按钮控件(Button),1. 命令按钮的用途 命令按钮是用户与应用程序交互的最简便的 工具,应用十分广泛。在程序执行期间,它可以用于接收用户的操作信息,去执行预先规定的命令,触发相应的事件过程,以实现指定的功能

11、。,2. 常用属性 (1)Text属性:该属性用于设定命令按钮上显示的文本 (2)FlatStyle属性:该属性指定了命令按钮的外观风 格,它有4个可选值。 Flat、Popup、System、Standard(3)Image属性:用于设定在命令按钮上显示的图形。 (4)ImageAlign属性:当图片显示在命令按钮上时,可 以通过ImageAlign属性调节其在命 令按钮上的位置。利用此属性在 属性窗口中调节非常方便。,3. 命令按钮响应的事件 如果按钮具有焦点, 就可以使用鼠标左键、 Enter键或空格键触发该按钮的Click事件。 通过设置窗体的AcceptButton或CancelBu

12、tton属性,无论该按钮是否有焦点,都可以使用户通过按Enter或Esc键来触发按钮的Click事件。当使用ShowDialog方法显示窗体时,可以使用按钮的DialogResult属性指定ShowDialog的返回值。,8.4 标签控件(Label),标签控件的用途 标签主要用来显示文本。通常用标签来为其他控件显示说明信息、窗体的提示信息,或者用来显示处理结果等信息。但是,标签显示的文本不能被直接编辑。,2. 标签的常用属性(1)Text属性:用于设置标签显示的内容, Text属性可包含许多个字符。(2)Autosize属性:该属性用于设置标签是否 自动调整尺寸,以适应其 显示的内容。此属性

13、的系 统默认值为False。(3)Borderstyle属性:该属性用于设定标签的 边框形式,共有3个设 定值。None FixedSingle Fixed3D,3. 标签相应的事件 标签控件常用的事件有:Click(单击鼠标)事件和DoubleClick(双击鼠标)事件。,8.5 文本框控件,1. 文本框的用途 文本框有两种用途:一是可以用来输出或显示文本信息;二是可以接受从键盘输入的信息。应用程序在运行时,如果用鼠标单击文本框,则光标在文本框中闪烁,就可以向文本框输入信息。,2. 常用属性(1)Text属性:应用程序运行时,在文本框中显示的输 出信息或通过键盘输入的信息,都保存 在Text

14、属性中。(2)MaxLength属性:该属性用于设定文本框中最多可 容纳的字符数。(3)MultiLine属性:该属性用于设定文本框中是否允 许显示和输入多行文本。,(4) ReadOnly属性: 该属性用于设定程序运行时, 能否对文本框中的文本进行 编辑。(5) ScrollBars属性:该属性用于设置文本框中是 否带有滚动条,有4个可选值。 None Horizontal Vertical Both(6) PasswordChar属性:该属性用于设置显示文本框 中的替代符。 3. 本框控件响应的事件 在文本框控件所能响应的事件中,TextChanged和LostFocus是最重要的事件。,

15、例:演示文本框的用法。private void button1_Click(object sender, System.EventArgs e) MessageBox.Show(textBox1.Text);private void button2_Click(object sender, System.EventArgs e) this.textBox1.Text=;,8.6 单选按钮和复选框 RadioButton控件为用户提供由两个或多个互斥选项组成的选项集。 常用属性有Text和Checked属性。 当单击RadioButton控件时,其Checked属性设置为true。当Checke

16、d属性的值更改时,将引发CheckedChanged事件。例:private void button1_Click(object sender, System.EventArgs e) string msg=;msg+=this.radioButton1.Checked.ToString();msg+=this.radioButton2.Checked.ToString();msg+=this.radioButton3.Checked.ToString();msg+=this.radioButton4.Checked.ToString();MessageBox.Show(msg); priva

17、te void button2_Click(object sender, System.EventArgs e) this.radioButton1.Checked=true;this.radioButton2.Checked=false;this.radioButton3.Checked=false;this.radioButton4.Checked=false; ,复选框(CheckBox) 虽然复选框和单选按钮都是提供一些选项给用户进行选择,但在单选按钮组中一次只能选择一个单选按钮,而在一组复选框中则可以同时选择任意多项。 CheckBox有两个重要属性Checked和CheckStat

18、e。 Checked属性返回两个值true(选中)和false(未选中)。 CheckState属性用来描述当前状态,该属性的值可以是: (1) Checked 控件显示一个选中标记。 (2) UnChecked 控件为空。 (3) Indeterminate 控件显示一个选中标记并变灰。 CheckBox控件中使用比较多的事件是CheckChanged事件、 CheckStateChanged事件和Click事件。,例:private void button1_Click(object sender, System.EventArgs e) string checkmsg=checkBox1

19、.CheckState.ToString()+n; checkmsg+=checkBox2.CheckState.ToString()+n; checkmsg+=checkBox3.CheckState.ToString(); MessageBox.Show(checkmsg,信息显示); private void button2_Click(object sender, System.EventArgs e) this.checkBox1.Checked=false; this.checkBox2.Checked=false; this.checkBox3.Checked=false; ,8

20、.7 面板控件和分组框控件 Panel控件和GroupBox控件是一种容器控件,可以容纳其他控件,同时给控件分组,一般用于将窗体上的控件根据其功能进行分类,以利于进行管理。 放在Panel控件或GroupBox控件内的所有对象将随着容器的控件一起移动、显示、消失和屏蔽。,Panel控件和GroupBox控件的使用方法: (1)在“工具箱”中选择Panel控件或GroupBox控件,将其添加到窗体上。 (2)在“工具箱”中选择其他控件放在Panel控件或GroupBox控件内。 (3)重复步骤(2),添加所需的其他控件。 如果欲将已在窗体上存在的控件,加入到一个Panel控件或GroupBox控

21、件内,可以先选择这些控件,然后剪贴到Panel控件或GroupBox控件中去。,下面的窗体中,上面的是GroupBox控件,包含了两个命令按钮控件;下面的是Panel控件,也包含了两个命令按钮控件。,单选按钮控件经常与Panel控件或GroupBox控件一起使用。下面的窗体中使用了三个GroupBox控件,每个GroupBox都包含了三个单选按钮。,例:private void button1_Click(object sender, System.EventArgs e) if(this.radioButton1.Text=宋体) textBox1.Font=new Font(宋体,text

22、Box1.Font.Size); if(this.radioButton2.Checked=true) this.textBox1.Font=new Font(隶书,this.textBox1.Font.Size); if(this.radioButton3.Checked=true) this.textBox1.Font=new Font(华文彩云,this.textBox1.Font.Size); if(this.radioButton4.Checked=true) this.textBox1.ForeColor=Color.Red; if(this.radioButton5.Checke

23、d=true) this.textBox1.ForeColor=Color.Blue; if(this.radioButton6.Checked=true) this.textBox1.ForeColor=Color.Green; if(this.radioButton7.Checked=true) this.textBox1.Font=new Font(this.textBox1.Font.FontFamily,12); if(this.radioButton8.Checked=true) this.textBox1.Font=new Font(this.textBox1.Font.Font

24、Family,16); if(this.radioButton9.Checked=true) this.textBox1.Font=new Font(this.textBox1.Font.FontFamily,18);,8.8 图形框控件 PictureBox控件是专门用于显示图片的控件,可用于显示位图、图标、图元文件或GIF、JPEG各式的图形文件。同时,PictureBox控件也是一个容器分组控件,可以在其上面放置多个其他控件。 PictureBox控件的用法:先将它添加到窗体上,然后在Image属性中选择图片的来源和类型,就完成把图片置于控件上的操作了。如果想要取消控件上的图片,只要在属

25、性栏中的Image属性单击鼠标右键,在弹出菜单上选择“重置”选项即可。,下面这个窗体中,上半部分是是PictureBox控件,下半部分是一个Button控件。 其中按钮控件的单击事件代码为:private void button1_Click(object sender, System.EventArgs e) this.openFileDialog1.Filter=“图片文件*.bmp|*.bmp”; if(this.openFileDialog1.ShowDialog()=DialogResult.OK) Bitmap p1=new Bitmap(this.openFileDialog1.

26、FileName); this.pictureBox1.Image=p1; ,8.9.1 列表框(ListBox)控件 列表框控件提供一个项目列表,用户可以从中选择一项或多项。 在列表框内的项目称为列表项,列表项的加入是按一定的顺序进行的,这个顺序号称为索引号。列表框内列表项的索引号是从0开始的。,8.9 列表框、带复选框的列表框和组合框控件,列表框的列表项可以在属性窗口中通过Items属性来设置,也可以在应用程序中用Items.Add或Items.Insert方法来添加,用Items.Remove(删除指定的列表项)或Items.Clear方法(删除全部的列表项)删除。 例:this.lis

27、tBox1.Items.Remove(f); Items.Insert方法用于把一个列表项插入到列表框的指定位置。 例:this.listBox1.Items.Insert(0,f);,8.9.2 带复选框的列表框控件(CheckedListBox) 如果需要设置多个CheckBox,可以使用CheckListBox控件,设置其Items属性,将各个选项加入CheckBox集合中,建立复选框组。 操作步骤: (1)先在窗体中添入CheckedListBox控件。 (2)在属性窗口选择Items属性。 (3)单击Items属性左边的“”按钮,打开“字符串集合编辑器(String Collecti

28、on Editor)对话框 (4)在对话框中输入各个复选框选项,每个选项以回车键换行。 使用方法GetItemChecked可以检测CheckedListBox中的选项是否选中,传入索引值后,若检测到选中,将会返回布尔值True,否则为False。,也可以通过CheckedChanged事件来使一旦选择了某个单选按钮立即起作用。例:private void radioButton4_CheckedChanged(object sender, System.EventArgs e) this.textBox1.ForeColor=Color.Red; private void radioButt

29、on6_CheckedChanged(object sender, System.EventArgs e) this.textBox1.ForeColor=Color.Green; private void radioButton5_CheckedChanged(object sender, System.EventArgs e) this.textBox1.ForeColor=Color.Blue; ,private void button2_Click(object sender, System.EventArgs e) this.Close(); ,CheckedListBox控件用来显

30、示一系列列表项的,不过每个列表前面都有一个复选项。这样,是否选中了某个列表项就可以很清楚地表现出来。 CheckedListBox类是继承了ListBox类而得来的,CheckedListBox的大部分属性、事件和方法都来自ListBox类。如Items属性、SelectedItem属性、SelectedIndex属性,Items.Add方法和Items.Remove方法等。,组合框是一个文本框和一个列表框的组合。 组合框控件用于在下拉组合框中显示数据,便于用户从控件下拉列表框的多个选项中作出一个选择,该选项的内容将自动装入文本框中,如果列表框中没有所需的选项时,允许在文本框中直接输入信息。

31、组合框的常用属性有: Items、DropDownStyle、SelectedIndex等。 利用Items属性可以添加或者删除项,如果要在程序中添加或删除项,可以使用Items.Add、Items.Insert、Items.Clear或Items.Remove方法。 例:boBox1.Items.Add(textBox1.Text);,8.9.3 组合框控件(Combox),该控件用于在应用程序或控件中水平或垂直滚动,以方便地在较长的项列表或大量信息中转移。分为水平滚动条(HScrollBar)和垂直滚动条(VScrollBar)。 滚动条控件使用Scroll事件来监视滑块沿着滚动条的移动情

32、况。 滚动条的主要属性有Value、Minimum、Maximum、SmallChange和LargeChange 。 Value属性用来设置滑块在滚动条中所处的位置,其默认值为0。 Minimum和Maximum属性用来设置滚动条的范围。 SmallChange属性用于控制单击滚动条两边的箭头时,滑块滚动的值。 而LargeChange属性用于当用户在滑块的任何一边单击滚动条轨迹时,滑块滚动的值。,8.10 滚动条控件,定时器控件是按一定时间间隔周期性地自动触发定时器事件(Tick)的控件。定时器控件只在设计时出现在窗体下面的面板上,运行时,定时器控件不可见,定时器控件的默认名称为timer

33、1,timer2等。 1. 常用属性 Enabled: 设置定时器是否运行,若为True就每隔InterVal属性指定的时间间隔调用一次Tick事件。 InterVal: 由于设定自动调用定时器时件(Tick)的时间间隔,其值以毫秒为单位。 2. Tick事件 定时器控件只响应一个Tick事件。,8.11 定时器控件(Timer),LinkLabel控件可以向Windows窗体应用程序添加Web样式的链接,一切可以使用Label控件的地方,都可以使用LinkLabel控件,还可以将文本的一部分设置为指向某个对象或Web页的链接。LinkLabel控件在文本内容下面加上了下划线。 LinkLab

34、el的LinkArea属性设置激活链接的文本区域;LinkClicked事件确定选定链接文本后将发生什么。例: private void linkLabel1_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)System.Diagnostics.Process.Start();,8.12 超链接标签控件,8.13 对话框 比较常用的操作,如文件的打开和保存、字体、颜色、打印设置等都是通过Windeows提供的标准对话框来实现的。C#也可以利用这些对话框实现相应功能。 C#提供的对话框

35、控件有: Messagebox、OpenFileDialog、SaveFileDialog、 ColorDialog、FontDialog、 PringDialog、 对话框的DialogResult返回值一般表示的是用户是通过点击哪个按钮来关闭对话框的。它的值一般有:Abort、Cancel、Ignore、No、None、OK、Retry、Yes等。 例: DialogResult result=this.fontDialog1.ShowDialog( ); this.label1.Text=result.ToString( );,8.13.1 消息框 MessageBox类通过消息框来提供

36、与用户之间的简单互操作,消息框是对话框的一种特殊类型。 要显示消息框,应调用静态Show方法。 例:MessageBox.Show(“密码错误”); 要想为消息框加上说明或标题,就需要向 MessageBox.Show传递第二个字符串。 例:MessageBox.Show(“Hello”,“How are you!”);,除了“确定”按钮外,还可以为消息框添加其他按钮,但必须从MessageBoxButtons定义的按钮组中选择。 例:MessageBox.Show(“How are you!”,“Hello”,MessageBoxButtons.YesNoCancel); AbortRetryIgnore 表示“放弃”、“重试”、“忽略”按钮 OK 表示“确定”按钮 OKCancel 表示“确定”、“取消”按钮 RetryCancel 表示“重试”、“取消”按钮 YesNo 表示“是”、“否”按钮,本章作业: 1. 习题8的118。,实验报告: 实验七,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号