C程序设计案例库、源码等资源电子课件

上传人:新** 文档编号:580144966 上传时间:2024-08-28 格式:PPT 页数:103 大小:4.46MB
返回 下载 相关 举报
C程序设计案例库、源码等资源电子课件_第1页
第1页 / 共103页
C程序设计案例库、源码等资源电子课件_第2页
第2页 / 共103页
C程序设计案例库、源码等资源电子课件_第3页
第3页 / 共103页
C程序设计案例库、源码等资源电子课件_第4页
第4页 / 共103页
C程序设计案例库、源码等资源电子课件_第5页
第5页 / 共103页
点击查看更多>>
资源描述

《C程序设计案例库、源码等资源电子课件》由会员分享,可在线阅读,更多相关《C程序设计案例库、源码等资源电子课件(103页珍藏版)》请在金锄头文库上搜索。

1、单元5Windows窗体知识目标v1.掌握Windows窗体项目的创建方法v2.理解控件的继承层次v3.掌握资源文件和配置文件的使用v4.掌握常用控件的属性、事件和方法v5.掌握用户控件的使用v6.能根据需要创建用户界面能力目标v1.使用控件创建用户界面v2.理解图形界面中的事件驱动编程机制v3.正确使用控件和组件来处理用户输入以及显示数据v4.编写窗体程序解决实际问题本单元学习任务v任务1创建Windows应用程序v任务2Windows控件和组件v任务3菜单、工具栏、状态栏和对话框单元5Windows窗体任务1创建Windows应用程序引例登录界面设计v设计一个登录窗体,用户输入用户名和密码

2、,程序判断是否正确。如果错误则给出提示,正确则显示主窗体。 输入正确,进入主界面输入正确,进入主界面 输入错误,出现提示信息输入错误,出现提示信息 知识储备v知识点1:创建窗体应用程序v知识点2:控件和窗体v知识点3:资源文件和配置文件v知识点4:消息框任务1知识点1:创建窗体应用程序vWindows窗体应用程序,也叫做桌面程序,它拥有图形化的用户界面(GraphicUserInterface,GUI)vWindows窗体,具体地说就是.NET类库中System.Windows.Forms里面的Form类。Form类是应用程序中所显示的任何窗口的表示形式。Form类可用来创建标准窗体、工具窗体

3、、无边框窗体和浮动窗体,还可以使用Form类创建模式窗口或者包含子窗口的MDI窗体(MultipleDocumentInterface,多文档界面)任务1知识点1:创建窗体应用程序v【例】在窗体中放置一个标签、一个文本框和一个按钮。标签里面显示提示“请输入你的大名:”,在文本框中输入一个名字后,用鼠标点击按钮后,弹出对话框显示“欢迎你使用WinForms,XXX!”。输入名字输入名字 点击按钮,弹出对话框点击按钮,弹出对话框 请看操作演示任务1知识点1:创建窗体应用程序-创建窗体程序项目(1)在在Visual Studio 2008中点击菜单中点击菜单“文件文件 | 新建项目新建项目”,弹出,

4、弹出【新建项目新建项目】对话框对话框 选择项目类选择项目类型型选择模板选择模板项目名称项目名称项目所属的项目所属的解决方案解决方案项目保存项目保存位置位置更改路径更改路径任务1知识点1:创建窗体应用程序-创建窗体程序项目(1)在Visual Studio 2008中点击菜单“文件 | 新建项目”,弹出【新建项目】对话框 (2)添加添加“例例5.1”项目后,进入项目后,进入Visual Studio界面界面 控件控件任务1知识点1:创建窗体应用程序设计界面从从【工具箱工具箱】中拖放中拖放1个个Label控件(工具箱中图标:控件(工具箱中图标: )、)、一个一个TextBox控件(工具箱中图标:控

5、件(工具箱中图标: )、)、一个一个Button(工具箱中图标:(工具箱中图标: )控件到窗体设计器中,)控件到窗体设计器中,并用鼠标拖动它们进行排版并用鼠标拖动它们进行排版 如果如果“工具箱工具箱”面板被关闭了,可以从菜单面板被关闭了,可以从菜单“视图视图 | 工具箱工具箱”再次打开它。再次打开它。可以从可以从“视图视图”菜单打开菜单打开Visual Studio的各种面板窗口的各种面板窗口 任务1知识点1:创建窗体应用程序设计界面从【工具箱】中拖放1个Label控件(工具箱中图标: )、一个TextBox控件(工具箱中图标: )、一个Button(工具箱中图标: )控件到窗体设计器中,并用

6、鼠标拖动它们进行排版 设计窗体后,选中各个控件,打开设计窗体后,选中各个控件,打开【属性属性】面板,设置控件的相应属性面板,设置控件的相应属性 任务1知识点1:创建窗体应用程序设计界面从【工具箱】中拖放1个Label控件(工具箱中图标: )、一个TextBox控件(工具箱中图标: )、一个Button(工具箱中图标: )控件到窗体设计器中,并用鼠标拖动它们进行排版 设计窗体后,选中各个控件,打开【属性】面板,设置控件的相应属性 依次选中各个控件,设置窗体和控件的属性依次选中各个控件,设置窗体和控件的属性 控件控件类型类型(Name)属性属性属性名属性名属性值属性值Form1FrmMainTex

7、t欢迎StartPositionCenterScreenLabellblPromptText请输入你的大名:TextBoxtxtNameText例如:张三ButtonbtnOKText确定任务1知识点1:创建窗体应用程序编写事件处理程序private void btnOK_Click(object sender, EventArgs e)private void btnOK_Click(object sender, EventArgs e) MessageBox.Show(欢迎你使用欢迎你使用WinForms, + txtName.Text + !);任务1知识点1:创建窗体应用程序调试运行按

8、下按下F5启动调试过程启动调试过程 输入名字输入名字 点击按钮,弹出对话框点击按钮,弹出对话框 vC#Windows窗体应用程序的的特点:可视化设计(VisualStudio提供支持)事件驱动(代码主要通过事件触发来执行)任务1知识点1:创建窗体应用程序调试运行v习惯上把从System.ComponentModel命名空间中Componet类派生的类或者实现该名称空间中IComponent接口的类称之为组件。把从System.Windows.Forms.Control派生的类称为控件。而Control类又派生于Component类,所以控件也是组件。v组件可以使用Visual Studio的可

9、视化设计器来进行设计。控件和其他组件相比,最大的差别在于:控件的类的代码要包含如何在屏幕上绘制自己外观的方法vWindows窗体应用程序中使用的控件都被组织在了System.Windows.Forms命名空间中,使用该空间中的控件进行图形化界面程序设计,常常被称为“窗体编程”或者“Windows Forms(简称WinForms)编程”。任务1知识点2:控件和窗体1.Control类的派生任务1知识点2:控件和窗体Control类2.Control类常用属性Name(控件的名称)Size(大小)和Location(位置)Margin(和周围控件的间隔)Padding(子控件与当前控件边界的间隔

10、)Anchor(锚定父容器边界)和Dock(停靠)BackColor(背景色)和ForeColor(前景色)Font(字体)和Text(显示的文本)BackgroundImage(背景图片)BackgroundImageLayout(背景图排列方式)Controls(包含子控件的集合)Cursor(鼠标光标)Visible(可见性)和Enable(可用性)Tag(存放和该控件相关的任何对象)ContextMenuStrip(控件的上下文菜单)TopLevelControl(获取最顶层控件的引用,通常是最外层Form)任务1知识点2:控件和窗体Control类3.Control类方法任务1知识点

11、2:控件和窗体Control类4.Control类常用事件v事件驱动是图形界面程序一大典型特征。在事件驱动编程模式下,程序不再是按照事先设计的顺序从头到尾执行完就结束了,而是窗体界面出于循环等待状态,当某事件触发了就执行相应的事件处理程序。许多界面事件是依赖于用户操作的,用户以不同顺序进行操作,程序也就以不同顺序执行事件处理代码。v窗体界面和用户的交互操作通过各种事件来体现。一些比较常见的事件有Click、DoubleClick、KeyDown、KeyPress、Validating、Paint等等任务1知识点2:控件和窗体Control类【例】 控件的鼠标和键盘事件新建项目“例5.2”,在窗

12、体里放置3个Label控件,依次命名为lblMousePosition、lblButton和lblKey,这3个标签分别用来显示鼠标的坐标位置、鼠标的按键和键盘按键消息。通过【属性】面板找到窗体Form1的MouseLeave、MouseDown和KeyDown事件,双击它们,让Visual Studio自动生成事件处理方法,然后在方法体中处理事件 public partial class Form1 : Form public Form1() InitializeComponent(); private void Form1_MouseMove(object sender, MouseEve

13、ntArgs e) lblMousePosition.Text = 当前鼠标的位置为:当前鼠标的位置为:( + e.X + , + e.Y + ); private void Form1_MouseDown(object sender, MouseEventArgs e) if (e.Button = MouseButtons.Left) lblButton.Text = 鼠标按键是:左键!鼠标按键是:左键!; else if (e.Button = MouseButtons.Right) lblButton.Text = 鼠标按键是:右键!鼠标按键是:右键!; else if (e.Butt

14、on = MouseButtons.Middle) lblButton.Text = 鼠标按键是:中键!鼠标按键是:中键!; lblButton.Text += , 鼠标按键次数:鼠标按键次数: + e.Clicks; private void Form1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) lblKey.Text = 您所按的键是:您所按的键是: + e.KeyCode + , + e.Modifiers; 任务1知识点2:控件和窗体Control类5.窗体的常用属性MaximizeBox(能否最大化)Minimi

15、zeBox(能否最小化)ControlBox(是否显示控制按钮)StartPosition(窗体第一次出现时的位置)WindowState(启动时是最大化还是最小化)FormBorderStyle (边框样式)MaximumSize(最小尺寸)Icon(设置窗体左上角的小图标)Text(设置窗体标题栏显示的文本)ActiveControl(获取窗体激活的控件)ShowInTaskbar (是否在任务栏显示)TopMost (是否处在Z轴顺序最上层)ShowIcon (是否显示标题栏图标)TransparencyKey (指定背景透明色)MainMenuStrip (设置主菜单条)ActiveF

16、orm (静态属性,获取当前活动窗口)最大化不可用最大化不可用 任务1知识点2:控件和窗体窗体Form类6.窗体的常用方法pShow方法:显示窗体pHide方法:隐藏窗体pClose方法:关闭窗体如下面的代码分别用于显示和隐藏窗体frmMain:frmMain.Show();frmMain.Hide();任务1知识点2:控件和窗体窗体Form类7.窗体的常用事件Load事件窗体的Load事件即窗体载入事件,当窗体载入时触发该事件。FormClosed事件和FormClosing事件窗体的FormClosed和FormClosing都是窗体的关闭事件,但两者有着本质的区别,FormClosed事

17、件在窗体关闭后的那一刻被触发(此时已经不可再访问窗体内的控件)。而FormClosing事件则是当窗体正要关闭的时候被触发,通过将事件参数e的Cancel属性设置为true可以阻止窗体的关闭。任务1知识点2:控件和窗体窗体Form类1.资源文件v.NET使用资源文件描述和管理程序所用到的外部资源(字符串、图片、音频、文件等)v给控件添加背景图像时,会弹出如右上图所示的对话框。如果选择“本地资源”则VS会将背景图片的路径记录在窗体相关的.resx文中,如Form1.resxv如果选择“项目资源文件”,则VS会将图片复制到项目文件夹下的Resource子文件夹中,并在项目的Properties文件

18、夹的Resources.resx文件中记录图片位置。v*.resx是描述资源的XML文件vResource.Designer.cs是VS生成的访问资源文件的类任务1知识点3:资源文件和配置文件资源文件v应用程序所使用的资源可以分为链接资源和嵌入式资源。任务1知识点3:资源文件和配置文件资源文件v链接资源由应用程序通过绝对路径或相对路径来加载,如果该路径所指向的资源移动了位置将产生错误。链接资源通常和程序集一起发布。v嵌入式资源会被编译到程序集中。vVS编译项目时会调用资源文件生成器(Resgen.exe)将*.resx文件(包含对资源的描述)所描述的资源编译成一个*.resource文件(包含

19、资源本身),并将该文件嵌入到项目输出的程序集中。编译时如果指定路径上的文件不存在将报错。2.资源文件的使用v双击【解决方案资源管理器】中的resx文件可以打开资源文件的可视化设计器。可以通过设计器添加删除资源。v代码中使用资源:btnSave.BackgroundImage=Properties.Resources.pic01;/pic01是Resources类的只读属性btnSave.Text=Properties.Resources.TextOfSaveButton;任务1知识点3:资源文件和配置文件资源文件为控件选择图片资源资源文件编辑器3.配置文件v双击Properties文件夹中的S

20、ettings.settings文件(settings是扩展名,实际上是XML文件)会打开配置文件编辑器。v.NET是使用XML格式的配置文件替代了传统的*.ini文件,可以把应用程序的一些参数、选项保存在配置文件中,下一次程序运行时可以从配置文件中读取设置。v配置文件中可保存多种类型的参数。配置文件输出形式:程序集名.configv范围:用户:可读写;应用程序:只读任务1知识点3:资源文件和配置文件-配置文件4.使用配置文件v通过窗体设计器将控件属性值绑定到配置文件参数上。v代码中访问:/MyArgs2是“应用程序”范围参数,只读btnQuery.Text=Properties.Settin

21、gs.Default.MyArgs2;/MyArgs是“用户”范围参数,可写Properties.Settings.Default.MyArgs=查询;btnQuery.Text=Properties.Settings.Default.MyArgs;任务1知识点3:资源文件和配置文件配置文件v调用System.Windows.Forms.MessageBox类的静态Show方法来显示消息对话框。返回值是DialogResult类型的枚举值。v对话框是有模式的窗体(Modal属性值为true)任务1知识点4:消息框名称名称说明说明MessageBox.Show (String) 显示具有指定文本

22、的消息框MessageBox.Show (String, String) 显示具有指定文本和标题的消息框MessageBox.Show (String, String, MessageBoxButtons) 显示具有指定文本、标题和按钮的消息框MessageBox.Show (String, String, MessageBoxButtons,MessageBoxIcon) 显示具有指定文本、标题、按钮和图标的消息框MessageBox.Show (String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButto

23、n) 显示具有指定文本、标题、按钮、图标和默认按钮的消息框引例分析登录界面设计v设计一个登录窗体,用户输入用户名和密码,程序判断是否正确。如果错误则给出提示,正确则显示主窗体。 输入正确,进入主界面输入正确,进入主界面 输入错误,出现提示信息输入错误,出现提示信息 引例分析登录界面设计v1.设计界面 在窗体Form1上放置如下控件:两个Lable控件,设置它们的Text属性分别为“用户名”、“密码”;两个TextBox控件,Name属性分别为txtName、txtPas,txtPas的PasswordChar属性设置为*,表示在txtPas中输入的任何内容都以*表示,放置了输入信息的泄露;一个

24、Button控件,其Name属性为btLogin添加一个窗体,命名为添加一个窗体,命名为MainForm v2.编写代码引例分析登录界面设计 private void btLogin_Click(object sender, EventArgs e) if (txtName.Text = admin & txtPas.Text = 123) MainForm fm = new MainForm(); fm.Show(); this.Hide(); else MessageBox.Show(输入错误,请重新输入!输入错误,请重新输入!); 实践任务v实现图形界面的“猜数字”游戏归纳总结v1实践训

25、练完成情况v2实践训练存在的问题v3知识要点:(1)创建窗体应用程序的过程(2)控件和窗体的常用属性、方法和事件(3)资源文件和配置文件的使用(4)消息框单元5Windows窗体任务2Windows基本控件和组件引例用户注册v创建一个用于用户注册的界面。 用户注册知识储备v知识点1:标签和按钮;v知识点2:文本框;v知识点3:列表控件;v知识点4:日期和数字调节控件;v知识点5:视图控件;v知识点6:容器控件;v知识点7:其他控件和组件;v知识点8:用户控件。1.Label控件v一般用于给用户提供描述文本该控件总是只读的,用户不能修改Text属性的字符串值。但是,可以在代码中修改Text属性。

26、2.LinkLabel控件v给Windows窗体应用程序添加Web样式的超级链接LinkLabel控件的LinkArea属性用于获取或设置文本中被作为超级链接的区域。任务2知识点1:标签和按钮标签【例】 设计用户界面,窗体上有一个超级链接,运行时单击可打开网易主页。属性名属性名属性值属性值(Name) Lnk163Text网易()LinkArea 3,11任务2知识点1:标签和按钮标签 private void lnk163_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) lnk163.LinkVisited = true

27、; System.Diagnostics.Process.Start(lnk163.Text.Substring(3, 11); /或者或者System.Diagnostics.Process.Start(); 选择需要设置链接的文字选择后系统自动给出3.Button控件-执行命令pDialogResult属性:当使用ShowDialog方法显示窗体时,可以使用该属性设当用户按了该按钮后,ShowDialog方法的返回值。pImage属性:用来设置显示在按钮上的图像。pFlatStyle属性:用来设置按钮的外观。pText属性:用来设置显示在命令按钮上的文本。pClick事件:当用户用鼠标左键

28、单击按钮控件时,将发生该事件。任务2知识点1:标签和按钮按钮Button【例】 在窗体上放置一按钮,当鼠标点击按钮时,此按钮文本、颜色发生 变化属性名属性名属性值属性值(Name) btChangeText“点击我”任务2知识点1:标签和按钮按钮 Button private void btnChange_Click(object sender, EventArgs e) btnChange.Text = 您点击了此按钮您点击了此按钮; btnChange.BackColor = Color.Red; 4.RadioButton控件多选一pChecked属性:用来设置或返回单选按钮是否被选中,

29、选中时值为true,没有选中时值为false。pAutoCheck属性:如果AutoCheck属性被设置为true(默认),那么当选择该单选按钮时,将自动清除该组中所有其他单选按钮。对一般用户来说,不需改变该属性,采用默认值(true)即可。pText属性:用来设置或返回单选按钮控件内显示的文本pClick事件:当单击单选按钮时触发该事件,同时将该单选按钮的Checked属性值设置为true。pCheckedChanged事件:当Checked属性值更改时,将触发该事件任务2知识点1:标签和按钮按钮RadioButton【例】 用RadioButton实现性别选择类型属性名属性名属性值属性值L

30、abel(Name)lblInformRadioButton(Name)rbtnMaleText男RadioButton(Name)rbtnFemaleText女任务2知识点1:标签和按钮按钮RadioButton private void rbtnMale_CheckedChanged(object sender, EventArgs e) lblInform.Text = 选择了男选择了男; private void rbtnFemale_CheckedChanged(object sender, EventArgs e) lblInform.Text = 选择了女选择了女; 5.Chec

31、kBox多选pTextAlign属性:用来设置控件中文字的对齐方式。pChecked属性:用来设置或返回复选框是否被选中,值为true时,表示复选框被选中,值为false时,表示复选框没被选中。pCheckState属性:用来设置或返回复选框的状态。pClick事件:当单击单选按钮时触发该事件,同时将该单选按钮的Checked属性值设置为true。pCheckedChanged事件:当Checked属性值更改时,将触发该事件任务2知识点1:标签和按钮按钮CheckBox1.本框(TextBox)控件TextBox控件既可以显示文本,又可以由用户直接对其进行编辑,这是它与标签控件最明显的区别。常

32、用属性:pText属性:是文本框中的文本pMaxLength属性:允许输入字符的最大长度。pMultiLine属性:是否显示多行pWordWrap属性:显示多行时是否自动换行。pReadOnly属性:用来获取或设置一个值,指示文本是否为只读。pPasswordChar属性:输入字符时的回显字符。密码框。pHideSelection属性:失去焦点后是否仍加亮显示所选文本。pSelectionLength属性:选定的字符数。pSelectionStart属性:选定的文本起始点。第一个字符的位置为0。pSelectedText属性:当前选定的文本。pLines:多行显示时每一行字符串所构成的数组。p

33、TextLength属性:用来获取控件中文本的长度。任务2知识点2:文本框TextBoxTextBox常用方法:(1)AppendText方法:把一个字符串添加到文件框中文本的后面。(2)Clear方法:从文本框控件中清除所有文本。(3)Focus方法:是为文本框设置焦点。(4)Copy方法:将文本框中的当前选定内容复制到剪贴板上。(5)Cut方法:将文本框中的当前选定内容移动到剪贴板上。(6)Paste方法:用剪贴板的内容替换文本框中的当前选定内容。(7)Undo方法:撤销文本框中的上一个编辑操作。(8)ClearUndo方法:从该文本框的撤销缓冲区中清除关于最近操作的信息,根据应用程序的状

34、态,可以使用此方法防止重复执行撤销操作。(9)Select方法:用来在文本框中设置选定文本。(10)SelectAll方法:用来选定文本框中的所有文本。常用事件:(1)GotFocus事件:该事件在文本框接收焦点时发生。(2)LostFocus事件:该事件在文本框失去焦点时发生。(3)TextChanged事件:该事件在Text属性值更改时发生。无论是通过编程修改还是用户交互更改文本框的Text属性值,均会引发此事件。任务2知识点2:文本框TextBox【例】 设计一个窗体,实现加减乘除操作,其中两个加数分别从文本框输入,点击计算按钮,则显示计算结果 private void rbtAdd_C

35、lick(object sender, EventArgs e) label1.Text = +; private void rbtSub_Click(object sender, EventArgs e) label1.Text = -; private void rbtMul_Click(object sender, EventArgs e) label1.Text = *; private void rbtDiv_Click(object sender, EventArgs e) label1.Text = /; private void btClear_Click(object sen

36、der, EventArgs e) txNum1.Text = ; txNum2.Text = ; label1.Text = ; private void btCom_Click_1(object sender, EventArgs e) if (txNum1.Text = | txNum2.Text = ) return; if (rbtAdd.Checked) txResult.Text = Convert.ToDouble(txNum1.Text) + Convert.ToDouble(txNum2.Text) + ; if (rbtSub.Checked) txResult.Text

37、 = Convert.ToDouble(txNum1.Text) Convert.ToDouble(txNum2.Text) + ; if (rbtMul.Checked) txResult.Text = Convert.ToDouble(txNum1.Text) * Convert.ToDouble(txNum2.Text) + ; if (rbtDiv.Checked) txResult.Text = Convert.ToDouble(txNum1.Text) / Convert.ToDouble(txNum2.Text) + ; 任务2知识点2:文本框TextBox2.RichTextB

38、ox控件(富文本框)vRichTextBox控件和TextBox具有共同的基类TextBoxBase。它支持RTF格式,能处理格式丰富的文本。v常用属性(1)RightMargin属性:右侧空白的大小,单位是像素。(2)Rtf属性:用来获取或设置RichTextBox控件中的文本,包括所有RTF格式代码。可以使用此属性将RTF格式文本放到控件中以进行显示,或提取控件中的RTF格式文本。(3)SelectedRtf属性:当前选定的RTF格式的格式文本。此属性使用户得以获取控件中的选定文本,包括RTF格式代码。如果当前未选定任何文本,给该属性赋值将把所赋的文本插入到插入点处。如果选定了文本,则给该

39、属性所赋的文本值将替换掉选定文本。(4)SelectionColor属性:获取或设置当前选定文本或插入点处的文本颜色。(5)SelectionFont属性:用来获取或设置当前选定文本或插入点处的字体。任务2知识点2:文本框RichTextBox控件v常用方法(1)Find方法:用来从RichTextBox控件中查找指定的字符串。并返回搜索文本的第一个字符在控件内的位置。如果未找到搜索字符串或者str参数指定的搜索字符串为空,则返回值为-1。(2)SaveFile方法:用来把RichTextBox中的信息保存到文件。(3)LoadFile方法:读取文件到控件中(4)Redo方法:重做上一步撤销的

40、动作。任务2知识点2:文本框RichTextBox控件v【例】运用RichTextBox编辑文本,并对文本的加载和保存任务2知识点2:文本框RichTextBox控件 private void button1_Click(object sender, EventArgs e) StreamReader sr = new StreamReader( .a.txt); string s = sr.ReadToEnd(); richTextBox1.Text = s; sr.Close(); private void button2_Click(object sender, EventArgs e)

41、 string save = .a.txt; richTextBox1.SaveFile(save); MessageBox.Show(文件保存成功文件保存成功); v1.ListBox控件Items属性:用于存放列表框中的列表项,是一个集合。通过该属性,可以添加列表项、移除列表项和获得列表项的数目。SelectionMode:获取或设置在ListBox中选择项所用的方法。SelectedIndex属性:用来获取或设置当前选定项的索引值(int)。SelectedIndices获取一个集合,该集合包含ListBox中所有当前选定项的从零开始的索引。SelectedItem属性:获取或设置Lis

42、tBox中的当前选定项(object)。SelectedItems:获取包含ListBox中所有当前选定项的集合。Text属性:该属性用来获取或搜索ListBox控件中当前选定项的文本Items.Count属性:该属性用来返回列表项的数目。SelectedIndexChanged事件:选择的选项发生改变时发生。任务2知识点3:列表控件ListBoxv常用方法(1)FindString方法:用来查找列表项中以指定字符串开始的第一个项。返回该项索引值。(2)SetSelected方法:用来选中某一项或取消对某一项的选择。(3)Items.Add方法:用来向列表框中增添一个列表项。(4)Items.

43、Insert方法:用来在列表框中指定位置插入一个列表项。(5)Items.RemoveAt方法:用来从列表框中删除一个列表项。(6)Items.Clear方法:用来清除列表框中的所有项。vAdd、Remove、RemoveAt、Clear是集合的基本运算。任务2知识点3:列表控件ListBox2.ComboBox控件ComboBox控件又称组合框,是综合了文本框、按钮和列表框特征的一种控件。它兼有文本框和列表框的功能,可以像文本框一样,用键入的方式选择项目,但输入的内容不能自动添加到列表中;也可以在单击向下的箭头后,选择所需的项目。若选中了某列表项,则该项的内容会自动显示在文本框中。组合框比列

44、表框占用的屏幕空间要小。vDropDownStyle属性:下拉模式vText属性:文本框文本vItems属性:列表项集合vSelectedIndexChanged事件:选项改变事件任务2知识点3:列表控件ComboBox3.CheckedListBox控件v又称复选列表框,它扩展了ListBox控件,它几乎能完成列表框可以完成的所有任务,并且还可以在列表项旁边显示复选标记。v除具有列表框的全部属性外(但不能多选),它还具有以下属性。(1)CheckOnClick属性:获取或设置一个值,该值指示当某项被选定时是否应切换左侧的复选框。如果立即切换选中标记,则该属性值为true;否则为false。默

45、认值为false。(2)CheckedItems属性:该属性是复选列表框中选中项的集合,只代表处于CheckState.Checked或CheckState.Indeterminate状态的那些项。该集合中的索引按升序排列。(3)CheckedIndices属性:该属性代表选中项(处于选中状态或中间状态的那些项)索引的集合。(4)ItemCheck事件:在选项Checked属性将要改变时发生。任务2知识点3:列表控件CheckedListBox1.MonthCalendar控件(月历)vMaxDate、MinDate属性:获取或设置允许的最大日期和最小日期。vSelectionStart、Se

46、lectionEnd属性:获取或设置所选日期范围的开始日期和结束日期。vSelectionRange属性:为月历控件获取或设置选定的日期范围。vBoldedDates属性:获取或设置DateTime对象的数组,确定要以粗体显示的非周期性日期。vAnnuallyBoldedDates属性:获取或设置DateTime对象的数组,确定一年中要以粗体显示的日期。vMaxSelectionCount属性:获取或设置月历控件中可选择的最大天数。vDateChanged事件:当MonthCalendar中的所选日期更改时发生。vDateSelected事件:用户使用鼠标进行显式日期选择时发生。任务2知识点4

47、:日期和数字调节控件-MonthCalendar2.DateTimePicker日期拾取器控件DateTimePicker由一个文本框和一个弹出式的月历构成,帮助用户选择日期。vFormat属性:指定显示日期的格式。vCustomFormat属性:在Format值为Custom时用户可自定义显示格式vValue属性:当前选中的日期时间(DateTime类型)。vValueChanged事件:选项值发生改变时触发。任务2知识点4:日期和数字调节控件-DateTimePicker3.NumericUpDown数字微调控件vValue属性:控件当前代表的数字。vIncrement属性:获取或设置单击

48、向上或向下按钮时,该控件递增或递减的值。vMaximum、Minimum属性:获取或设置该控件的最大值、最小值。vValueChanged事件:值改变时发生。4.TrackBar跟踪条控件vMaximum、Minimum属性:TrackBar控件可表示的上限和下限值。vOrientation属性:该值指示跟踪条是在水平方向还是在垂直方向。vLargeChange属性:滑块长距离移动时应为Value属性中加上或减去的值vSmallChange属性:滑块短距离移动时对Value属性进行增减的值vValue属性:用来获取或设置滑块在跟踪条控件上的当前位置的值vTickFrequency属性:该值指定

49、控件上绘制的刻度之间的增量vTickStyle属性:该值指示如何显示跟踪条上的刻度线。vValueChanged事件:事件在Value属性值改变时发生vScroll事件:滚动滑块时发生。任务2知识点4:日期和数字调节控件-NumericUpDown1.TreeView控件v树视图(TreeView)控件以树的方式显示数据项。TreeView控件的每个数据项都与一个树结点(TreeNode)对象相关联。树结点可以包括其他的结点,这些结点称为子结点,这样就可以在TreeView控件中体现对象之间的层次关系。v常用属性:Nodes属性:是TreeView控件的结点的集合。TopNode属性:可见的第

50、一个节点。ImageList属性:获取或设置包含树节点所使用的Image对象的ImageList。SelectedNode属性:获取或设置当前在树视图控件中选定的节点。LabelEdit属性:获取或设置一个值,用以指示是否可以编辑树节点的标签文本。任务2知识点5:视图控件TreeView控件v常用方法:BeginUpdate方法:禁用任何树视图重绘。EndUpdate方法:启用树视图的重绘。CollapseAll方法:折叠所有树节点。ExpandAll方法:展开所有树节点。GetNodeCount方法:检索分配给树视图控件的树节点数(可以选择性地包括所有子树中的树节点)。v常用事件AfterC

51、ollapse、BeforeCollapse:在折叠树节点后、前发生。AfterExpand、BeforeExpand事件:在展开树节点后、前发生。AfterLabelEdit、BeforeLabelEdit事件:在编辑树节点标签文本后、前发生。AfterSelect、BeforeSelect事件:在选定树节点后、前发生。NodeMouseClick、NodeMouseDoubleClick事件:使用鼠标单击、双击节点时发生。任务2知识点5:视图控件TreeView控件2、ListView控件v列表视图允许以5种视图(View)显示条目。(大图标、小图标、列表、平铺和详细资料)。vListVi

52、ew包含一个ListViewItems集合。ListViewItems允许设置一个用于显示的Text属性,它的另一个属性SubItems包含在详细视图中显示的文本。任务2知识点5:视图控件ListView控件vClear方法:从控件中移除所有项和列。vSort方法:对列表视图的项进行排序。vArrangeIcons方法:当控件中的项显示为图标时,对其进行排列。vEnsureVisible方法:确保指定项在控件中是可见的,必要时滚动控件的内容。vBeginUpdate、EndUpdate方法:挂起、回复控件的重绘。vView属性:获取或设置项在控件中的显示方式。vFullRowSelectVie

53、w属性:该值指示单击某项是否选择其所有子项。vColumnsView属性:获取控件中显示的所有列标题的集合vGroupsView属性:获取分配给控件的ListViewGroup对象的集合。vItems属性:获取包含控件中所有项的集合。vLabelEdit属性:获取或设置一个值,该值指示用户是否可以编辑控件中项的标签。vMultiSelect属性:获取或设置一个值,该值指示是否可以选择多个项。vHideSelection属性:获取或设置一个值,该值指示当控件没有焦点时,该控件中选定的项是否保持突出显示。vSelectedIndices属性:获取控件中选定项的索引。vSelectedItems属性

54、:获取在控件中选定的项。vTopItem属性:获取或设置控件中的第一个可见项。vAfterLabelEdit、BeforeLabelEdit事件:当用户编辑项的标签之后、前发生。vSelectedIndexChanged事件:当SelectedIndices集合更改时发生。任务2知识点5:视图控件ListView控件v容器控件是可以容纳其他控件的控件。在窗体含有较多控件时,可以使用容器控件将相关的控件组织在一起,从而便于管理和控制。v1.Panel控件v2.GroupBox控件(分组框)v3.TabControl控件(选项卡控件)v4.TableLayoutPanel控件(表格布局面板)v5.

55、FlowLayoutPanel控件(流式布局面板)v6.SplitContainer控件(具有拆分器的容器)任务2知识点6:容器控件1.Timer组件Timer控件又称定时器控件或计时器控件,该控件的主要作用是按一定的时间间隔周期性地触发一个名为Tick的事件,因此在该事件的代码中可以放置一些需要每隔一段时间重复执行的程序段。在程序运行时,定时器控件是不可见的。下面介绍Timer的常用属性、方法和事件。v(1)Enabled属性:用来设置定时器是否正在运行。值为true时,定时器正在运行,值为false时,定时器停止工作。v(2)Interval属性:用来设置定时器两次Tick事件发生的时间间

56、隔,以毫秒为单位。如它的值设置为1000,则将每隔1秒发生一个Tick事件。v(3)Start方法:用来启动定时器,作用和将Enabled设置为true一样。v(4)Stop方法:用来停止定时器,作用和将Enabled设置为false一样。v(5)Tick事件:定义器控件响应的事件只有Tick,每隔Interval时间后将触发一次该事件。任务2知识点7:其他控件和组件-TimerTimer应用示例:privatevoidForm1_Load(objectsender,EventArgse)timer1.Enabled=true;this.Opacity=0;privatevoidtimer1_

57、Tick(objectsender,EventArgse)if(this.Opacity1)this.Opacity+=0.05;elsetimer1.Enabled=false;任务2知识点7:其他控件和组件-Timer2.PictureBox控件v又称图片框,常用于图形设计和图像处理应用程序,在该控件中可以加载的图像格式有:.bmp(位图)、.ico(图标)、.wmf(图元)、.JPEG和.GIF文件。(1)Image属性:用来设置控件要显示的图像。Bitmapbmp=newBitmap(图像文件名);pictureBox对象名.Image=bmp;pictureBox对象名.Image=

58、Image.FromFile(图像文件名);(2)SizeMode属性:图像的显示模式。Normal:图像被置于PictureBox的左上角。如果图像比包含它的PictureBox大,则该图像将被剪裁掉。StretchImage:PictureBox中的图像被拉伸或收缩,以适合PictureBox的大小。AutoSize:调整PictureBox大小,使其等于所包含的图像大小。CenterImage:如果PictureBox比图像大,则图像将居中显示。如果图像比PictureBox大,则图片将居于PictureBox中心,而外边缘将被剪裁掉。Zoom:图像大小按其原有的大小比例被增加或减小。任

59、务2知识点7:其他控件和组件-PictureBoxv用户控件是.NET提供的一种自定义控件的方法。.NET提供了一个System.Windows.Forms.UserControl基类,通过这个基类派生出我们自定义控件。UserControl支持可视化设计,在VisualStudio中可以通过窗体设计器把已有的控件拖放到用户控件中进行组装打包,从而形成一个新的控件。v【例】创建用户控件创建和使用用户控件。将2个文本框、2个标签和一个按钮打包在一起,形成一个登录控件,在该控件内部实现对用户名和密码的合法性验证,并通过事件机制告知外界代码用户身份是否合法。任务2知识点8:用户控件1)创建项目v创建

60、Windows窗体应用程序项目,命名为“UserControlDemo”。通过【项目】菜单或【解决方案管理器】中项目节点的右键菜单,向项目中添加用户控件,控件命名为“Login”。2)设计界面任务2知识点8:用户控件3)编写代码4)使用用户控件v用户控件设计好后编译项目,则用户控件自动出现在工具箱中。可将其拖放到窗体中。任务2知识点8:用户控件5)在窗体中处理Login控件的UserVerified事件v窗体Form1中的UserVerified事件的处理方法代码如下:private void login1_UserVerified(object sender, UserVerifiedEve

61、ntArgs e) if (e.Authorized) MessageBox.Show(哦也!登录成功!); else MessageBox.Show(悲剧!忘记密码了!);6)调试运行任务2知识点8:用户控件v创建一个用于用户注册的界面。引例分析用户注册界面 待添加v引例分析:v本例综合运用了多种控件,其中涉及的要点,一是控件的布局,二是控件事件的处理,三是控件数据的获取,特别要注意的是ListBox控件和CheckedListBox控件多选的处理。引例分析用户注册界面实践任务v设计考试系统界面,能够呈现单选题、多选题、判断题,并能自动阅卷。归纳总结v1实践训练完成情况。v2实践训练存在的问

62、题。v3知识要点:(1)标签和按钮(2)文本框(3)列表控件(4)日期和数字调节控件(5)视图控件(6)容器控件(7)其他控件和组件(8)用户控件单元5Windows窗体任务3菜单、工具栏、状态栏和对话框引例简单记事本v制作制作一个简单记事本,实现文本的创建、编辑、保存等功能。 简单记事本知识储备v知识点1:菜单、工具栏、状态栏;v知识点2:对话框;v知识点3:自定义对话框;v知识点4:多文档窗体。1.菜单v菜单分为主菜单(MenuStrip)和上下文菜单(ContextMenuStrip)vMenuStrip控件是一个组件,把软件的各种功能的调用命令集中在一起并分层组织起来,在运行时显示一个

63、菜单,可以通过添加访问键、快捷键、选中标记、图像和分隔条,来增加程序的可读性和可用性,使应用程序更人性化。知识点1:菜单、工具栏、状态栏菜单设计设计MenuStrip 设计设计ContextMenuStrip使用使用ContextMenuStrip控件的控件的关键关键:将需要显示快捷菜单的将需要显示快捷菜单的窗体窗体的的ContextMenuStrip属属性设置为所添加的性设置为所添加的ContextMenuStrip控件对象控件对象演示:演示:MenuStrip和和ContextMenuStrip2.工具栏控件vToolStrip控件用来设计一个Windows标准的工具栏,它的功能非常强大,

64、可以将一些常用的控件单元作为工具栏的子项放在其中,通过各个子项与应用程序发生联系。常用的子项有:Button、Label、SplitButton、DropDownButon、Separator、ComboBox、TextBox和ProgressBar等。任务3知识点1:菜单、工具栏、状态栏工具栏演示:工具栏的使用演示:工具栏的使用3.状态栏控件vStatusStrip用于创建Windows标准的状态栏。它与工具栏相似,同样也可以将一些常用的控件单元作为子项放在工具栏中,通过各个子项与应用程序发生联系。状态栏常用的子项有:StatusLabel、SplitButton、DropDownButon

65、和ProgressBar等。状态栏用来显示软件执行中的一些信息,一般不接受数据输入。任务3知识点1:菜单、工具栏、状态栏状态栏演示:状态栏的使用演示:状态栏的使用v在VisualStudio的工具箱中,颜色对话框、文件夹浏览对话框、字体对话框打开文件对话框和保存文件对话框这5个组件被放在一起形成了一个单独的分组。这几个组件都是派生于CommonDialog类的,所以也常把它们称为“通用对话框”。v尽管这几个对话框本身的构造较为复杂,但它们的核心功能非常简单。ColorDialog作用是为了获得一个颜色,即Color类型的数据。FolderBrowserDialog是以图形化的方式获得一个文件夹

66、的路径字符串。FontDialog的目的是生成一个Font结构类型的数据,OpenFileDialog和SaveFileDialog是为了得到文件的完整路径。任务3知识点2:对话框1.OpenFileDialog组件-【打开】文件对话框“打开文件对话框”常用成员如下。(1)Title属性:对话框标题,默认值为空字符串()但显示为“打开”。(2)Filter属性:用于过滤文件类型的筛选器.例如:“文本文件|*.txt|所有文件|*.*”,“图像文件(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|所有文件(*.*)|*.*”。(3)FilterIndex属性:对话框中当

67、前选定筛选器的索引。第一个筛选器的索引为1。(4)FileName属性:所打开文件的完整名称。如果未选定文件将返回空字符串。(5)InitialDirectory属性:对话框显示的初始目录,默认值为空字符串()。(6)Multiselect属性:是否允许选择多个文件。(7)FileNames属性:被选中文件的完整名称所构成的字符串数组。(8)ShowDialog方法:该方法的作用是显示通用对话框,其一般调用形式如下:通用对话框对象名.ShowDialog();该方法返回值是DialogResult枚举值。如果用户在对话框中单击“确定”,则为DialogResult.OK;否则为DialogRe

68、sult.Cancel。(9)FileOk事件:当用户单击文件对话框中的“打开”或“保存”按钮时发生。任务3知识点2:对话框OpenFileDialog2.SaveFileDialog组件-【保存】文件对话框vSaveFileDialog组件,主要用来弹出Windows中标准的【保存文件】对话框。vSaveFileDialog控件也具有FileName、Filter、FilterIndex、InitialDirectory、Title等属性,这些属性的作用与OpenFileDialog对话框控件基本一致,此处不再赘述。v需注意的是,上述两个对话框只返回要打开或保存的文件名,并没有真正提供打开或

69、保存文件的功能,程序员必须自己编写文件打开或保存的代码,才能真正实现文件的打开和保存功能。任务3知识点2:对话框SaveFileDialog3.FontDialog控件-【字体】对话框(1)Font属性:获取字体(Font结构)(2)Color属性:用来设定或获取字符的颜色。(3)MaxSize、MinSize属性:用来获取或设置用户可选择的最大和最小磅值。(4)ShowColor属性:是否显示文字颜色设置(5)ShowEffects属性:是否显示文字效果设置。(6)ShowDialog方法:显示对话框。(7)Apply事件:点击“应用按钮”时发生。任务3知识点2:对话框FontDialog4

70、.ColorDialog组件-【颜色】对话框(1)AllowFullOpen属性:是否允许显示自定义颜色界面部分。(2)FullOpen属性:是否已经显示自定义颜色界面部分。(3)Color属性:用来获取或设置用户选定的颜色任务3知识点2:对话框ColorDialog5.FolderBrowserDialog控件【浏览文件夹】对话框(1)SelectedPath属性:用于设置对话框中最先显示的文件夹或用户最后选择的文件夹的路径。(2)ShowNewFolderButton属性:是否显示【新建文件夹】按钮。(3)Description属性:用于设置对话框目录树上显示的提示信息。(4)RootFo

71、lder属性:指定显示的根文件夹。默认值为Desktop。(4)ShowDialog()方法:用于显示对话框。任务3知识点2:对话框FolderBrowserDialog如果需要定制对话框,可以使用Form的ShowDialog方法将窗体显示为对话框。v【例】自定义一个对话框用来接收用户输入的宽度和高度数据。1)创建窗体项目。添加窗体“SetSizeForm”。2)设计“SetSizeForm”界面任务3知识点3:自定义对话框设置SetSizeForm窗体设置btnOK按钮设置btnCancel按钮3)将“SetSizeForm”中接收的数据公开为属性任务3知识点3:自定义对话框using S

72、ystem;using System.Windows.Forms;namespace Demo public partial class SetSizeForm : Form public SetSizeForm() InitializeComponent(); public int WidthValue get return Convert.ToInt32(numWidth.Value); set numWidth.Value = value; public int HeightValue get return Convert.ToInt32(numHeight.Value); set nu

73、mHeight.Value = value; 4)在主窗体中测试任务3知识点3:自定义对话框private void button1_Click(object sender, EventArgs e) SetSizeForm f = new SetSizeForm(); if (f.ShowDialog() = DialogResult.OK) textBox1.Text = 宽度: + f.WidthValue + ,高度: + f.HeightValue; f.Dispose();/释放窗体所占资源v多文档界面(MultipleDocumentInterface,MDI)是指一个窗体拥有若

74、干个子窗体所形成的窗体界面。MDI程序中的应用程序窗体称为父窗体,应用程序内部的窗体称为子窗体。虽然MDI应用程序可以具有多个子窗体,但是每个子窗体却只能有一个父窗体。1.常用的MDI父窗体属性(1)ActiveMdiChild属性:该属性用来表示当前活动的MDI子窗体,如果当前没有子窗体,则返回null。(2)IsMdiContainer属性:该属性用来获取或设置一个值,该值指示窗体是否为多文档界面(MDI)子窗体的容器,即MDI父窗体。值为true时,表示是父窗体,值为false时,表示不是父窗体。(3)MdiChildren属性:该属性以窗体数组形式返回MDI子窗体,每个数组元素对应一个

75、MDI子窗体。vMDI父窗体的常用事件是MdiChildActivate,当激活或关闭一个MDI子窗体时将发生该事件。任务3知识点4:多文档窗体2.常用的MDI子窗体的属性(1)IsMdiChild属性:该属性用来获取一个值,该值指示该窗体是否为多文档界面(MDI)的子窗体。值为true时,表示是子窗体,值为false时,表示不是子窗体。(2)MdiParent属性:该属性用来指定该子窗体的MDI父窗体。与MDI应用程序设计有关的方法中,一般只使用父窗体的LayoutMdi方法,该方法的调用格式如下:MDI父窗体名.LayoutMdi(Value);v该方法用来在MDI父窗体中排列MDI子窗体

76、,以便导航和操作MDI子窗体。参数Value决定排列方式,参数是MdiLayout类型的枚举值:MdiLayout.ArrangeIcons:将子窗体最小化时的图标排列在父窗体的左下角。MdiLayout.TileHorizontal:水平平铺MdiLayout.TileVertical:垂直平铺MdiLayout.Cascade:层叠任务3知识点4:多文档窗体引例分析简单记事本v制作制作一个简单记事本,实现文本的创建、编辑、保存等功能。 简单记事本引例分析简单记事本 记事本应用程序界面设计记事本应用程序界面设计代码实践任务v为“简单记事本”增加功能:1.实现查找和替换;2.实现选项功能,保存用于设置和保存记事本默认的背景色、前景色、字体等信息。归纳总结v1实践训练完成情况。v2实践训练存在的问题。v3知识要点:(1)菜单、工具栏、状态栏;(2)对话框;(3)自定义对话框;(4)多文档窗体。:

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

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