C#程序设计实用教程第08章

上传人:梦** 文档编号:61127489 上传时间:2018-11-24 格式:PPT 页数:70 大小:503.50KB
返回 下载 相关 举报
C#程序设计实用教程第08章_第1页
第1页 / 共70页
C#程序设计实用教程第08章_第2页
第2页 / 共70页
C#程序设计实用教程第08章_第3页
第3页 / 共70页
C#程序设计实用教程第08章_第4页
第4页 / 共70页
C#程序设计实用教程第08章_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《C#程序设计实用教程第08章》由会员分享,可在线阅读,更多相关《C#程序设计实用教程第08章(70页珍藏版)》请在金锄头文库上搜索。

1、1,第8章 Windows窗体和控件,目录1 8.1 窗体概述 8.1.1 创建窗体应用程序 8.1.2设置窗体的属性 8.1.3 窗体的事件 8.1.4窗体的方法 8.1.5 特殊窗体的创建 8.2窗体的控件 8.2.1窗体控件概述 8.2.2窗体控件属性 8.2.3常用的窗体控件 8.3窗体的菜单 8.4窗体的工具栏和任务栏 8.5 鼠标键盘交互 8.6对话框 8.7 SDI和MDI应用程序,8.1窗体概述,窗体是.NET中的一种特殊的类,控件也是一种类,它继承于窗体类。它们可以像平常的类一样使用。使用窗体和控件,例如标签和文本框(它们是Windows窗体的固有部分),可以编写比较复杂的W

2、indows窗体程序。窗体从基类System.Windows.Forms.Form中继承其基本行为,控件则直接或间接的继承了基类System.Windows.Forms.Control。这个基类确保Windows.Forms中的所有控件都拥有某些功能。 本章主要介绍Windows Form中常见的控件及其功能。,8.1.1 创建窗体应用程序 (1)创建窗体应用程序,在“文件”菜单上,单击“新建”,然后单击“项目”。 (2)在“项目类型”窗格中,选择“Visual C#”节点,然后在“Visual Studio 已安装的模板”窗口中选择“Windows 窗体应用程序”,键入项目的名称,如“myt

3、estpram”。为解决方案键入一个不同的名称,如:“mytestpram”。可以接受默认位置、键入一个位置或者浏览到要保存项目的目录。选中创建项目解决方案的目录复选框,点击确定按钮,Visual Studio系统自动创建Windows 窗体项目。 (3)Windows 窗体设计器将打开并显示一个区域即一个缺省的窗体,您可以将要放置的控件添加到该区域中。 (4)在视图菜单中打开新建的项目解决方案管理器,在界面的右侧显示项目解决方案管理器的内容,其中有解决方案名及项目名,在下边是Visual Studio缺省创建的代码文件Form1.cs,点击展开Form1.cs左面的“+”号,展开后显示一个F

4、orm1.Designer.cs文件,分别打开这两个文件,在这两个文件中使用关键字partial定义同一个类Form1的不同部分, 而在文件Form1.cs中定义Form1是Form类的子类。 (5)可以在界面的左面的工具箱中选择需要的控件添加到设计窗体中,当添加控件到设计窗体中后,系统会自动添加与该控件相关的代码到Form1.Designer.cs文件中,注意:凡是系统自动添加的代码都会自动加到Form1.Designer.cs文件中,而开发人员的代码则只需添加到Form1.cs文件中,这样就可以把系统添加的代码与用户代码分开,使得程序的结构更加清晰。,建立窗体项目,Forms类. Form

5、1.cs与Form1.Designer.cs 与partial class 实际操作建立窗体项目. 讲解项目中的各文档的含义. 窗体的属性.,8.1.2设置窗体的属性 属性定义窗体、文档、控件的状态、行为和外观,可以通过修改窗体的属性窗口中的属性来改变窗体的某些特征。如窗体的大小、标题、背景等,窗体的属性有很多,这就不一一详细介绍。 8.1.3 窗体的事件 事件是一个对象为了通知程序应作某个动作(某种处理)而发的消息,它可以由用户的操作触发,也可以通过程序触发。触发事件的对象称作“发送者”,捕获并相应时间的对象称作“接受者”。 窗体应用程序的一个重要特点就是事件驱动,所以在开发窗体应用程序时,

6、必须考虑处理各种事件。下面列出了一些窗体常用事件: (1)Activate 窗体被代码(或)激活事件 (2)Click 点击或双击窗体的客户区事件 (3)Paint 在窗体上绘制事件 (4)FormClosed 关闭窗体事件 (5)Load 加载窗体事件,8.1.4窗体的方法 方法是指对象具有的行为和执行的操作。窗体的方法表示窗体的某些行为,操作。下面列出了一些窗体常用方法: (1)CenterToScreen 在屏幕中央打开窗体; (2)Close 关闭窗体,触发窗体的Closes事件; (3)Hide 隐藏窗体; (4)Show 显示窗体;,8.1.5 特殊窗体的创建 (1)设置窗体的边框

7、形态 通过设置窗体的FormBorderStyle属性值改变窗体的边框形态。 例如把该属性值设成None,则不显示窗体的标题栏。 (2)创建各种形状的窗体 创建GraphicsPath实例 GraphicsPath gp = new GraphicsPath(); 要把窗体修改成什么形状就把什么形状的线条添加到GraphicsPath实例中 gp.AddEllipse(this.ClientRectangle); Region属性决定了窗体的外形,用上面的gp为参数,重新实例化当前窗体的Region 属性 this.Region = new Region(gp);,9,8.2窗体的控件,8.2

8、.1窗体控件概述 .NET中的控件都派生于System.Windows.Forms.Control类。这个类定义了控件的基本功能,这就是控件中的许多属性和事件都相同的原因。许多类本身就是其他控件的基类,下图显示了Label和TextBoxBase类.,8.2.2窗体控件属性 窗体控件属性表示控件的特征、状态,通过修改控件的属性可以改变控件的某些特征或状态。修改、设置控件属性是编写窗体应用程序的必要操作。窗体控件有许多属性,这种介绍一些常用并且通有的属性及修改操作。,8.2.3常用的窗体控件,1 Label控件,Label控件也叫标签控件,用于向用户显示文本或者图像。 其部分属性如下: Imag

9、e:定义在控件表面显示的图像。 AutoSize:是否根据文本自动调整大小,设置为True时自动调整其大小。,2 TextBox控件,TextBox控件的作用是向用户提供用于输入和输出的可编辑控件。 其部分属性如下: Text visible AcceptsReturn:指示多行编辑控件中是否可以输入回车符。 Multiline:控制编辑控件的文本是否跨越多行。 ReadOnly:控制用户是否可以在运行时修改文本框的内容。,拖放Label控件和TextBox控件到窗体 设置其Text属性为所需名称 激发TextBox控件的Enter事件及Validating事件添加如下代码 /用户姓名 pri

10、vate void txtName_Validating(object sender, CancelEventArgs e) if (txtName.Text.Trim() = string.Empty) MessageBox.Show(“用户名为空,请重新输入!“); txtName.Focus(); ,事件的顺序: 焦点事件按下列顺序发生: Enter /进入控件时发生,/密码设置 private void txtPassword_Validating(object sender, CancelEventArgs e) if (txtPassword.Text.Trim() = strin

11、g.Empty) MessageBox.Show(“密码为空,请重新输入!“); txtPassword.Focus(); ,private void txtAgain_Validating(object sender, CancelEventArgs e) /验证第二次输入的密码是否为空,如不为空是否与第一次输入的密码相同,如不相同则清空,重新输入 if (txtAgain.Text.Trim() = string.Empty) MessageBox.Show(“密码为空,请重新输入!“); txtAgain.Focus(); else if (txtAgain.Text.Trim() !=

12、 txtPassword.Text.Trim() MessageBox.Show(“密码输入有误,请重新输入!“); txtPassword.Clear(); txtAgain.Clear(); txtPassword.Focus(); ,3. Button控件,Button控件提供可单击的按钮,开发者通常创建Click事件处理程序来响应用户单击按钮。 其部分属性如下: FlatStyle:定义Button控件实例的外观。 Image:控件表面显示的图形 ImageAlign:定义图像与按钮的可视区域的对齐方式,拖放Button控件到窗体上 设置Button控件的Image属性,进行添加图片

13、双击Button控件,激发Button_Click事件,在其中添加如下代码: /创建伪随机数生成器变量r Random r = new Random(); /使用伪随机数生成器变量r产生随机数并赋值给btnClickMe按钮的Left和Top属性 btnClickMe.Left = r.Next(this.Width - btnClickMe.Width); btnClickMe.Top = r.Next(this.Height - btnClickMe.Height);,运行效果,按钮会随着点击而改变位置,4. CheckBox控件,CheckBox控件用于多项选择的复选框,以及描述复选框作

14、用的文本。 其部分属性如下: CheckAlign:确定空间中复选框的位置。 Checked:指示该复选框是否选中。 AutoCheck:单击复选框时是否更改其状态。 CheckState:指示复选框的当前状态。,5. GroupBox和Panel控件,GroupBox和Panel控件都是容器控件,即它们能够包含窗体上创建的其他控件实例。移动GroupBox或者Panel控件实例时,它们包含的控件实例也会移动。,6. RadioButton控件,RadioButton控件也叫单选按钮,有时也称为选项按钮。 其部分属性如下: CheckAlign:确定控件位置 Checked:指示控件是否被选中

15、 FlatStyle:确定控件实例的外观 Image:确定在控件表面显示的图像,拖放相应控件到窗体上 激发Button_Click事件,添加如下代码 string user = string.Empty; user = “姓名:“ + txtName.Text + “n“; user = user + “密码:“ + txtPassword.Text + “n“; user = user + “性别:“ + (rdoMale.Checked ? “男“ : “女“) + “n“; user = user + “爱好:“ + (chkMovie.Checked ? “电影“ : “) + (ch

16、kMusic.Checked ? “音乐“ : “) + (chkSport.Checked ? “体育“ : “) + “n“;,using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; DialogResult result = MessageBox.Show(“rrrrrrrrr“, “信息确认“, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);,消息对话框,if (result = DialogResul

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号