《软件技术》专业剖析报告软件教研室李萍2006年5月可视化程序设计_C#第2章窗体与控件主讲教师:周志德学习内容1、可视化程序设计的二项任务(1)Windows应用程序界面设计(2)Windows应用程序事件代码设计2、学习内容本章主要介绍Windows应用程序界面设计。由于应用程序界面由窗体与控件组成,因此,本章主要学习窗体与控件的属性、方法与事件,及用控件在窗体内设计应用程序界面的方法。项目案例教学法(1)项目案例:用户登录界面用户帐号管理界面学生档案查询程序界面(2)设计方法:用窗体与控件设计程序界面。(3)教学方法:教、学、做一体的项目教学法。教学方法图2.1-a用户登录界面窗体Form标签Label文本框TextBox按钮Button本次课主要讲述窗体、标签、文本框、命令按钮的属性、方法与事件,并完成用户登录界面的设计任务。图2.1-b用户管理系统窗体界面窗体Form组合框ComboBox框架Frame列表框ListBox单选按钮Option复选框CheckBox按钮图2.1-c学生档案查询程序界面组合框ComboBox框架Frame单选按钮Option命令按钮Command标签Label文本框TextBox图像Image复选框CheckBox列表框ListBox工具栏查询条件栏学生个人档案栏学生档案查询状态栏2.1属性、方法与事件1、属性(Property)(1)属性是描述控件对象特性的数据成员。如控件名称Name、标题Text、长宽Size、字体Font等。(2)属性设置方法一:在属性窗口设置控件属性,得到控件初始的外观样式。方法二:在程序代码中设置控件属性,即在程序运行中改变控件的外观样式。说明:部分属性不能在运行时赋值,如:button1.Size.Width=100;是错误的。例如:用属性窗口设置按钮控件Button1的属性如下:Name:btn_ButtonFont:宋体、五号Location:150,150Size:100,40Text:按钮用代码设置按钮控件Button1的Text属性如下:btn_Button.Text=“确定”;2.1属性、方法与事件图2.2按钮的属性设置2.1属性、方法与事件2、方法(Method)(1)方法是处理数据的成员函数。(2)应用程序可通过调用控件的方法完成指定的动作。例如,隐藏一个按钮btn_Button可调用按钮的Hide方法实现,代码如下:btn_Button.Hide();3、事件:控件对操作动作的响应。C#规定了每种控件可以响应的事件。如,单击按钮在标签控件上显示“单击了按钮!”,显示“单击了按钮!”的这一动作即是单击按钮事件。privatevoidbtn_button_Click(objectsender,EventArgse){lbl_label.Text=单击了按钮!;btn_button.Hide();}2.1属性、方法与事件属性窗口中有两个对话框(如图2.3所示):左边:控件属性设置对话框;右边:事件对话框,显示控件对象能响应各种事件。2.1属性、方法与事件图2.3属性与事件对话框分类排序字母排序2.2窗体2.1.1概述1.作用窗体用于设计应用程序界面,是放置控件的容器。2.添加窗体菜单|项目|添加Windows窗体|Windows窗体|输入窗体名|添加说明:一个项目可添加多个窗体。窗体文件的默认名为Form1.cs、Form2.cs、…、Formn.cs2.1.2窗体属性1.窗体名与标题(1)Name:窗体名,如:Name=frm_XSDA(2)Text:窗体标题,如:frm_XSDA.Text=学生档案查询2.窗体位置、大小与状态(1)Location(位置属性):窗体左上角坐标(Left、Top)如:Location:100,100或:Location.x:100;Location.y:1002.2窗体(2)Size(大小属性):窗体宽与高(Width,Height)如:Size:600,400或:Width:600,Height:400(3)WindowState(状态属性):–Normal:正常状态。–Maximized:最大化状态。–Minimized:最小化状态。2.2窗体3.窗体的字体、颜色与外形(1)Font(窗体字体):在属性窗口单击Font属性栏中的省略按钮,进入图2.4所示字体属性设置对话框。可设置如下字体属性。Name:字体名Size:字体大小Italic:Ture(设置斜体)Bold:Ture(设置粗体)UnderLine:True(设置下划线)Unit:字体单位2.2窗体图2.4字体属性设置对话框(2)ForeColor:窗体的前景颜色在属性窗口单击ForeColor属性栏中的下拉按钮,进入图2.5所示颜色属性设置对话框,可设置各种颜色。(3)BackColor:窗体的背景颜色在属性窗口单击BackColor属性栏中的下拉按钮,进入图2.5所示颜色属性设置对话框,可设置各种颜色。2.2窗体图2.5窗体前景色的设置2.2窗体(4)FormBorderStyle:窗体边框样式:None:无边框;Fixed3D:固定的三维边框;FixedDialog:固定对话框样式的粗边框;FixedSingle:固定的单行边框;FixedToolWindow:不可调整大小的工具窗体边框;Sizable:可调整大小的边框;SizableToolWindow:可调整大小的工具窗体边框。窗体边框风格默认为:FormBorderStyle.Sizable。2.2窗体2.2窗体(5)BackgroundImage属性作用:用于设置窗体的背景图片设置:在属性窗口单击BackgroudImage属性栏中的省略按钮,进入图2.6所示窗体的背景图片设置对话框。选择本地资源,单击导入按钮,选择背景图片。4.窗体关闭方法(Close)窗体关闭方法的格式:this.Close();图2.6窗体前景色的设置2.2窗体2.2窗体例2-1设置学生档案管理系统窗体背景图片如图2.7所示。(1)创建新解决方案ex2_1.sln(2)窗体属性:Name:frm_XSDAText:学生档案管理系统BackgroudImage:学生档案管理.jpg图2.7学生档案管理系统背景图片2.2窗体2.2窗体例2-2(1)创建用户登录窗口界面,如图2.9所示。(1)创建登录解决方案解决方案名称为ex2_2.sln,存放目录为d:\c#\ex2_2;(2)设置窗体属性Name:frm_LoginText:用户登录(3)放置2个Lable控件图2.9用户登录窗口2.2窗体图2.8窗体事件窗口事件按钮2.2.2窗体的主要事件1.窗体事件的创建步骤(1)选择窗体(2)选择属性窗口(3)单击事件按钮(4)选择窗体事件(5)双击窗体事件进入事件代码编码器编写事件代码程序2.2窗体2.窗体加载事件(Load)Load事件在第一次显示窗体前发生。在窗体显示前,先执行Load事件代码,然后窗体才显示在屏幕上。privatevoidfrm_Login_Load(objectsender,EventArgse){this.Text=登录窗体;label1.Text=用户名:;}说明:书中例题有问题!要将窗体名改为this,this用于表示窗体对象。2.2窗体3.窗体单击和双击事件(1)Click:窗体单击事件privatevoidfrm_Login_Click(objectsender,EventArgse){label2.Text=口令:;}2.2窗体(2)DoubleClick:窗体双击事件可以设置两次单击鼠标按钮之间的时间间隔以便将这两次单击认为是双击而不是两次单击。(3)MouseClick:窗体鼠标单击事件(4)MouseDoubleClick:窗体鼠标双击事件仅对鼠标单击和双击有效,对于键盘的点击不做处理。2.2窗体4.窗体激活与失效事件(1)Actived:窗体激活事件从一个窗体切换到另一个窗体时,每激活一个窗体发生Actived事件。(2)Deactivate:窗体失效事件2.3.1控件概述(1)Windows程序界面由菜单、工具栏、文本框、列表框、命令按钮、滚动条等控件组成。(2)程序员使用C#工具箱中控件,在窗体内设计程序界面。(3)C#工具箱提供多种控件供程序员使用。(4)程序员要关心控件的作用、属性、方法、事件与用法。2.3常用控件2.3常用控件(5)控件工具箱VisualStudio2005提供了多种控件供用户设计应用程序界面。所有控件都存放在控件工具箱内。如图2.10所示。图2.10控件工具箱2.3常用控件(6)控件命名控件的Name属性为控件的唯一标识,为了提高程序的可读性,需要给控件一个容易理解的名称。Microsoft公司提供了对控件的命名约定,便于通过控件名称表示出控件的类型。表2-1中列出了窗体和一些常用控件的前缀,以供参考。2.3常用控件表2-1控件命名约定对象前缀Form(窗体)frmLabel(标签)lblTextBox(文本框)txtButton(按钮)btnListBox(列表框)lstComboBox(组合框)cboPictureBox(图片框)picRadioButton(单选按钮)rbtnCheckBox(复选框)chk2.3.2标签(Label)1.作用:显示文字2.属性(1)Name:标签名(前缀lbl),如登录出错标签名:lbl_LoginError(2)Text:用于设置标签的文本内容;lbl_LoginError.Text=“请重新输入用户名和密码!”;(3)AutoSize:True-根据文本大小自动调整标签大小,False-不能自动调整标签大小。2.3常用控件2.3常用控件(3)BackColor:设置标签控件的背景颜色(4)TextAlign:设置标签对齐方式:TopLeft(左上对齐),TopCenter,TopRight,MiddleLeft,MiddleCenter,MiddleRight,ButtonLeft,ButtonCenter,ButtonRight。图2.11用户登录界面2.3常用控件例2-2(2)在用户登录窗体中添加显示用户名、密码、登录出错信息的三个标签,如图2.11所示。(1)工具箱|公共控件|Label|拖动Label到窗体中。(2)设置标签属性如下:表2-2标签属性设置标签NameTextLabel1lbl_User用户名Label2lbl_Psd密码Label3lbl_LoginError2.3.3文本框(TextBox、RichTextBox和MaskedTextBox)1.作用:用于接收输入或显示输出信息。(1)TextBox:普通文本框。(2)RichTextBox:处理特殊格式(RTF)的文本编辑框。(3)MaskedTextBox:格式化输入、输出的数据的文本框。2.3常用控件2.属性(1)Name:前缀“txt”,如txt_User,txt_Psd(2)Text:接收输入或显示输出文本信息。如图2.12中,用户输入的用户名和密码通过TextBox控件的Text属性得到。将用户名和密码赋值给字符串sUser和sPsd的代码如下:stringsUser=txt_User.Text;stringsPsd=txt_Psd.Text;2.3常用控件(3)PasswordChar属性:用于设置输入密码的替代字符,如”*”。(4)UseSystemPasswordChar属性:设置为“true”则用Windows系统中默认的密码替代字符“*”。2.3常用控件图2.12用户登录界面例2-2(3)在用户登录窗体中添加输入用户名、密码信息的二个文本框控件,如图2.12所示。(1)工具箱|公共控件|TextBox|拖动TextBox到窗体中。(2)设置文本框属性如下:2.3常用控件文本框NameTextPasswordCharTextBox1txt_UserTextBox2txt_Psd*(5)