- 2
- 0
- 约2.53万字
- 约 39页
- 2016-09-21 发布于重庆
- 举报
第2章 控件编程
Visual C# 2005提供了很多控件用于开发Windows应用程序,在本章中将介绍它们的常用属性、方法、事件及其具体应用。同时,部分实例将界面设计和代码编写结合起来,开发出具有一定功能的Windows应用程序。
本章学习目标:
(1)理解焦点与Tab键序的概念。
(2)熟练掌握窗体、命令按钮、列表框与组合框、DateTimePicker、标签(Label和LinkLabel)、文本框、图片框、Timer、进度条、框架、面板、单选按钮和复选框、TabControl和滚动条等控件的常用属性、方法和事件。
2.1 焦点与Tab键序
在Windows环境下向计算机输入数据时,首先需要选定待输入的位置,输入完一条项目后,可以通过鼠标单击或者使用【Tab】键来改变待输入的位置。在Visual C# 2005中,称待输入的位置对应的对象具有焦点,而焦点在对象间移动的顺序称为Tab键序。
2.1.1 焦点
在学习Visual C# 2005控件之前,首先要了解与控件紧密相关的焦点的概念。焦点是控件接收鼠标或键盘输入的能力。当对象具有焦点时,可以接收用户的输入,例如:为登录QQ而输入QQ密码时,焦点就在等待输入QQ密码的文本框上。
只有当控件的Enabled和Visible属性值均为True时,才可以接收焦点。Enabled属性决定控件是否响应由用户产生的事件,如键盘、鼠标事件;Visible属性决定控件是否可见。但是并非所有的控件都具有接收焦点的能力,如:GroupBox、PictureBox、Timer等控件都不能接收焦点。
2.1.2 设置焦点
使用以下方法可以使对象获得焦点:
(1)运行时用鼠标选择对象。
(2)运行时用快捷键选择对象。
在代码中使用Focus()方法,其语法格式为:
对象.Focus();
如:“TextBox.Focus();”,该代码的功能是将焦点赋予文本框TextBox。大多数控件得到和失去焦点时的外观是不相同的,如:
(1)按钮控件得到焦点后周围会出现一个虚线框。
(2)文本框得到焦点后会出现闪烁的光标。
2.1.3 程序运行时改变焦点的方法
程序运行时,可以使用下列方法之一改变焦点:
(1)用鼠标单击对象;
(2)使用快捷键选择对象;
(3)按Tab键或Shift+Tab键在当前窗体的各对象之间巡回移动焦点。
2.1.4 Tab键序
Tab键序是指当用户按下Tab键时,焦点在控件间移动的顺序,每个窗体都有自己的Tab键序。
默认状态下的Tab键序跟添加控件的顺序相同。例如在窗体上先后添加了3个命令按钮Button1、Button2和Button3,则程序启动后Button1首先获得焦点,当用户按下Tab键时,焦点依次转移向Button2、Button3,然后再回到Button1,如此循环。具有焦点的控件有两个控制Tab键序的属性,分别是TabIndex和TabStop属性。
1. TabIndex属性
TabIndex属性决定控件接收焦点的顺序,Visual C# 2005按照控件添加的顺序依次将0、1、2、3、…… 分配给相应控件的TabIndex属性。用户在运行程序时按下Tab键, 焦点将根据TabIndex属性值在控件之间转移。如果希望更改Tab键序,可以通过设置TabIndex 属性来更改。
例如希望焦点直接从Button1转移到Button3,然后再到Button2,则应该将Button2和Button3的TabIndex属性值互换。
注意:不能获得焦点的控件及无效或不可见的控件,不具有TabIndex属性,因而不包含在Tab键序中,按Tab键时这些控件将被跳过。
2. TabStop属性
TabStop属性决定焦点是否能够在该控件上停留。它有True和False两个属性值,默认为True;如果设为False,则焦点不能停在该控件上。
例如希望Button2不能接收焦点,只要将Button2的TabStop属性设为False即可,(代码为:Button2.TabStop = false;),这样在按Tab键时将跳过Button2控件,但是它仍然保留在Tab键序中的位置。
2.2 Form
窗体(Form)是Windows应用程序界面的最大容器,它可以容纳其他的一些控件,使用它和其他的Windows控件可以设计出美观的用户界面,下面将介绍窗体的生成方法及其常用的属性、方法和事件。
2.2.1 生成Form
每当用户创建一个新的Windows应用程序时,Visual C# 2005会自动生成一个名为Form1的窗体,如图2-1所示。可以通过鼠标的拖拽方法改变窗体的大小,也可以通过窗体的Size属性来修改。
图2-1 自动生成的Form1窗体
很多情况下
原创力文档

文档评论(0)