资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,5,章,Windows,窗体界面设计,在项目开发中,界面设计是一个非常重要的方面,因为它是获取用户操作和向用户提供相关功能的主要手段。好的界面可以让使用者容易掌握、赏心悦目,把操作看做是一种享受而不是负担。,VS2005,提供了丰富的控件,大大简化了界面设计过程。本章主要介绍如何使用这些控件,。,操作技巧:,(,1,)凡是通过设计界面添加的事件,要想使代码不再与某个事件关联,应该在设计界面下通过属性窗口下的雷电符号完成。这是因为自动生成的代码是单独保存在另一个文件中的,这样做的目的是为了让其自动修改生成的代码。,如果忘记了在设计模式下操作,而是直接在代码编辑模式下删除了关联的事件及其代码,或者修改了事件名称,由于系统不会自动删除或修改生成的代码中对应事件的事件句柄,因此仍然需要切换到设计模式,并选中要处理的控件,然后单击属性窗口中的雷电符号,在对应的事件中重新处理一遍,否则会引起编译错误。,(,2,)如果希望控制设计窗体中各种控件响应,键的顺序,应该通过主菜单,视图,下的,Tab,键顺序,操作,操作完成后,再选择,视图,Tab,键顺序,命令返回到正常设计界面模式下。,(,3,)如果希望对变量换名,不应该在代码编辑模式下一个个修改,而应该先选中该变量,然后单击鼠标右键,选择,重构,重命名,命令完成换名操作。,(,4,)对设计窗体中各控件的位置布局时,应该充分利用主菜单下的快捷按钮,这样可以节省很多布局时间,从而大大提高设计效率。,5.1,鼠标事件与键盘事件,Windows,窗体应用程序的设计是基于事件驱动的。事件是指由系统事先设定的、能被控件识别和响应的动作,例如:单击鼠标、按下某个键等。事件驱动指程序不是完全按照代码文件中排列的顺序从上到下依次执行,而是根据用户操作触发相应的事件。,一个控件可以响应多个事件,设计,Windows,应用程序的很多工作就是为各个控件编写需要的事件代码,但一般来说只需要对必要的事件代码编写。在程序运行时由控件识别这些事件,然后去执行对应的代码。没有编写代码的事件是不会响应任何操作的。,在,VS2005,中,每一个控件都有对应的若干事件,不同的控件所具有的事件也不尽相同。但是鼠标事件和键盘事件是绝大多数控件都有的两大类事件。常用的鼠标事件有鼠标单击、双击、鼠标进入控件区域、悬停于控件区域和离开控件区域等。常用的键盘事件有某个按键的按下、释放等。表,5-1,列出了大多数控件常用的鼠标和键盘事件。,表,5-1,鼠标和键盘常用事件,事件类型,事件名称,事件触发条件,常用鼠标事件,Click,单击鼠标左键时触发,MouseDoubleClick,双击鼠标左键时触发,MouseEnter,鼠标进入控件可见区域时触发,MouseMove,鼠标在控件区域内移动时触发,MouseLeave,鼠标离开控件区域时触发,常用键盘事件,KeyDown,按下某个键时触发,KeyPress,在,KeyDown,之后,KeyUp,之前触发,非字符键不会触发该事件,KeyUp,释放按键时触发,例,5-1,演示鼠标和键盘事件的触发条件,触发顺序,并显示各个事件所传递的参数内容。,操作步骤:,单击,开始,程序,Microsoft Visual Studio 2005 Microsoft Visual Studio 2005,命令,启动,Microsoft Visual Studio 2005,集成编译环境,如图所示:,在下图中,双击,“,创建 项目,(P),”,命令,如图圈红色部分。,输入,项目,名称,在随后出现的图形中,在,“,项目类型,”,列表中选择,“,Visual C#,”,;在,“,模板,(T):,”,中选择,“,Windows,应用程序,”,;在,“,名称,”,右边的文本框中输入本例要求的文件名:,EventExample,;在,“,位置,”,右边的文本框中输入文件所在的路径,作者将本例存放在,“,D,盘,”,下的文件夹中,即直接在,“,位置,”,右边的文本框中输入,“,D:,”,或者,“,E:,”,;,“,解决方案名称,”,右边文本框不用输入内容,它会自动与,“,名称,”,右边文本框中的内容一样。,单击,确定,按钮后,出现,,Visual Studio 2005,集成编译环境工具界面。选择菜单,视图,下的,“,解决方案资源管理器,”,命令,如下图所示。,出现,“解决方案资源管理器”界面,如下图,圈红色部分,所示。,将鼠标指向,“,Form1.cs,”,,单击右键,选择,“,重命名,”,命令。,将,“,Form1,”,改为,“,FormEvent,”,,扩展名不改。修改后按,“,回车,”,键。,在出现的对话框中,选择,“,是(,Y,),”,按钮。如图中红色部分。,单击,“,是(,Y,),”,按钮后,出现如下图界面。圈,红色部分,已修改。,(,2,)调整窗体到适当大小;设置,Text,属性为,“,事件驱动的界面设计,”,,作为窗体标题栏显示的文本。注意:要先单击,“,FormEvent.cs,设计,”,小窗口标题,再设置该窗体的,Text,属性,分别如图两处圈红色部分。,向窗体添加两个,Label,控件、一个,Button,控件和一个,TextBox,控件,各控件的布局及其相关属性如图所示。,下,2,图所示是标签,label1,的形成过程。即从工具箱上将,Label,控件拖到窗体上的适当位置,松开鼠标。在属性窗口,将其,Text,属性修改为,“,这里显示信息,”,。,下,3,图所示是标签,label2,的形成过程。即从工具箱上将,Label,控件拖到窗体上的适当位置,松开鼠标。在属性窗口,将其,Name,属性修改为“,labelDisplay,”,。将其,Text,属性设置为“按钮功能提示!”,将其,Visible,属性设置为“,false”,。,下图所示是文本框的形成过程。即从工具箱上将,TextBox,控件拖到窗体上的适当位置,松开鼠标。,下,2,图所示是命令按钮的形成过程。即从工具箱上将,Button,控件拖到窗体上的适当位置,松开鼠标。将其,Name,属性改为“,buttonOk,”,,将其,Text,属性改为“提交按钮,”.,(,3,)选中,textBox1,控件,按,键显示其属性,然后单击,属性,窗口的雷电符号,在事件列表中双击,KeyDown,,系统自动跳转到,“,FormEvent.cs,”,的代码页中,并创建相应的事件代码框架,.,在其中直接添加如下代码,(红色部分语句不用输入,系统已经提供),private void textBox1_KeyDown(object sender,KeyEventArgs,e),if(,e.KeyCode,=,Keys.UP,),MessageBox.Show,(,您现在按下的是向上箭头!,);,if(,e.KeyCode,=Keys.F1),MessageBox.Show,(,您现在按下的是功能键!是否需要帮助?,);,if(,e.Alt,=true&,e.Shift,=true&,e.Control,=true),MessageBox.Show,(,您现在按下的是组合键,Ctrl+Alt+Shift,!,);,if(,e.Control,=true),switch(,e.KeyCode,),case,Keys.A,:,MessageBox.Show,(,您现在按下的是是组合键,Ctrl+A,!,);,break;,case,Keys.B,:,MessageBox.Show,(,您现在按下的是是组合键,Ctrl+B,!,);,break;,用类似的方法添加,buttonOK,的,Click,事件、,MouseEnter,事件和,MouseLeave,事件代码:,private void,buttonOK_Click(object,sender,EventArgs,e),label1.Text=textBox1.Text;,private void,buttonOK_MouseEnter(object,sender,EventArgs,e),labelDisplay.Visible,=true;,labelDisplay.Text,=,按下按钮将文本框中的内容显示于下面!,;,private void,buttonOK_MouseLeave(object,sender,EventArgs,e),labelDisplay.Text,=;,(,5,)按,键编译并执行该应用程序。,5.1,Windows,窗体基本控件,在,VS2005,提供的控件中,有一些控件是经常使用的,这一节主要介绍常用的基本控件及其使用方法和技巧。,5.2.1,控件中常用的属性和方法,每个控件都有自己的属性、方法以及响应键盘和鼠标操作的事件。学习控件的关键是要注意这些属性、方法和事件的灵活应用。对大部分控件来说,有一些常用的属性和事件都是相同的,为避免介绍的内容重复,这里首先将大部分控件共有的属性抽取出来做一些简单介绍。,1.,常用基本属性,属性是指控件的各种性质,例如:控件的大小、在窗体中的位置等。属性一般都有默认值,也就是说,在实际编程时即使不设置任何属性值,控件也是可以使用的,只有默认值不能满足要求时才需要更改,。,表,5-2,列出了大多数控件都有的属性名称及含义。,表,5-2,控件常用属性,属性,含义,Name,指定控件的名称,它是控件在当前应用程序中的唯一标识,代码通过该属性来访问控件。,Enabled,决定控件是否可用,取值为,true,时可用,取值为,false,时不可用,Font,设置控件上文本的显示形式,是一个复合属性,包括字体名称、字号以及是否为斜体、加粗和下划线等,BackColor,设置控件的背景色,ForeColor,设置控件的前景色,即控件上文本的颜色,Location,定位控件,这是一个复合属性,需要指定控件的左上角相对于其容器左上角的坐标,(,x,y,),Size,指定控件的高度和宽度,是一个复合属性,Text,设置控件上所要显示的文本,如标签、按钮和复选框等控件上的文字,Visible,决定控件是否可见,取值为,true,时可见,取值为,false,时不可见,2,、常用方法,每个控件都有很多方法。属性指控件具有的性质,方法则指控件要完成的功能。方法是通过代码来调用的。例如:,Focus,方法(获得焦点)、,ToString,方法(转换为字符串)等。,5.2.2,TextBox,控件,TextBox,控件的主要作用是允许用户在应用程序中输入或编辑文本,当然也可以将控件的只读属性设为,true,,用做显示文本,而不允许用户编辑文本框中所显示的内容。在,TextBox,中编辑的文本可以是单行的,也可以是多行的,还可以设置为密码字符屏蔽状态作为密码输入框。,1,、常用的基本属性,(,1,),Text,属性:用于获取或设置文本框中的内容。,(,2,),MaxLength,属性:控制用户可以在文本框控件中输入字符的最大数目,默认值为最大值,即,32767,个字符。注意:由于使用的是,Unicode,字符,所以对中文和英文的字符计数方法是相同的,即一个英文字符的长度为,1,,一个汉字的长度也是,1,。,(,3,),Multiline,属性:决定文本框控件是否可以包含多行内容。当该属性为,false,时,,TextBox,的,Width,属性可以更改,但,Height,属性是固定的,即只允许输入单行文本;当该属性值为,true,时,,TextBox,的,Width,属性和,Height,属性均可更改,也可直接由鼠标拉动改变文本框的大小,以支持多行文本的输入和显示。,(,4,),PasswordChar,属性:用于指定作为密码输入文本框,在输入字符时文本框中所要显示代替密码的屏蔽字符。如果设置了,PasswordChar,属性,即指定了某一字符作为密码屏蔽字符,则输入的任何字符都显示为
展开阅读全文