Windows窗体设计概念及原则
第5章 窗体

使用自动窗体功能
使用向导功能 使用设计视图
需告知窗体上数据的来源(数据源)。 数据源形式:表、基于表的查询 字段通常以文本框控件的形式出现在窗体上
5.2.1使用自动窗体创建窗体
【例5.1】使用自动窗体方式创建“教师信 息表”的纵栏式窗体。
说明: 窗体与“教师信息表” 相连, 窗体上的文本框等控件 又与“教师信息表”表中相
3. 移动控件 选择一个或多个要移动的控件;选择“编辑”|“剪切”命令, 或单击工具栏上的“剪切”按钮;将鼠标移动到要复制的节 位置处,单击鼠标左键;选择“编辑”|“粘贴”命令,或单 击工具栏上“粘贴”按钮,即可完成移动控件的操作。 使用鼠标拖动移动控件的操作步骤:选择一个或多个要移动 的控件;将鼠标移动到选中控件的边框处,当鼠标指针变为 手掌形状时,按下鼠标左键,将控件拖动到所需位置即可。 4. 删除控件 选择一个或多个要删除的控件,选择“编辑”|“删除”命令 或按Del键。 5. 对齐控件 选择多个要对齐的控件,选择“格式”|“对齐”命令项,在 子命令项中选择“靠左”、“靠右”、“靠上”、“靠下” 和“对齐网格”中的一项,来完成对齐控件的操作。
【说明】单击选中姓名文本框,则姓名文本框 及其左侧系统自动添加的姓名标签会一同被选 定(图5.47)。移动鼠标,当鼠标箭头变成手 掌形状时,按住鼠标左键可同时移动该文本框 及其附加标签;若点击文本框/附加标签左上角 的黑色实心方框,按住鼠标左键即可单独移动 文本框/附加标签。
补充 文本框
[例] (1)设计窗体
3. 方法(Method) 方法是对象能够执行的动作或完成的操作,它是附属于对 象的行为和动作,也可以将其理解成指示对象动作的命令。 如立即窗口对象具有Print方法。 调用方法的语法格式: [对象名].方法名 方法是面向对象的,所以方法的调用一般要指明对象。 4. 事件(Event) 事件是能被对象识别和响应的动作,有用户事件和系统事 件。一个对象可以识别和响应一个或多个事件。事件过程 是某个对象事件发生时,系统响应后执行代码序列的过程。 如果没有编写事件过程,则当相应事件发生时,系统不做 任何响应。 窗体和窗体上的控件都是对象,其中窗体的标题、大小、前 景色和背景颜色等都是窗体对象的属性;Access中的事件 主要有键盘事件、鼠标事件、对象事件、窗口事件和操作 事件等。
认识windows7的窗口和对话框

认识windows7的窗⼝和对话框认识windows7的窗⼝和对话框⼀、windows7窗⼝的构成及操作1、窗⼝构成在windows7下,程序都在各⾃的窗⼝中运⾏,掌握窗⼝的构成和操作⽅法是熟练使⽤计算机的基础。
应⽤程序的窗⼝虽然千差万别,但所有窗⼝都有着相同的结构并遵循着统⼀的操作规则。
每个程序运⾏后都在屏幕上占⽤⼀块矩形区域,这个区域称作应⽤程序窗⼝。
下图是记事本程序和画图程序在运⾏时的窗⼝。
各部分的结构如图所⽰,它们代表了两种典型的窗⼝。
1)标题栏窗⼝最上⽅的横条称作标题栏,标题栏上⼀般标着当前程序的名称和当前正在处理的⽂档的名称。
2)窗⼝最⼤化、窗⼝最⼩化和窗⼝关闭图标标题栏最右端是三个控制窗⼝的图标,这三个图标分别⽤于窗⼝的最⼤化、最⼩化和关闭。
3)窗⼝控制图标位于窗⼝左上⾓,通过该图标我们可以通过键盘来控制窗⼝的⼤⼩和移动,现很少使⽤。
按Alt+空格键可激活该图标下的菜单。
窗⼝控制菜单如下图所⽰。
激活菜单后可以通过键盘上的光标移动键(箭头键)选菜单项,回车键执⾏菜单命令,从⽽实现通过键盘完成窗⼝操作。
4)⽔平菜单栏/选项卡标签窗⼝标题栏下⽅的⼀⾏⽂字,称作窗⼝的⽔平菜单栏,相隔的每组⽂字都代表⼀组操作命令,也称作菜单项,点击某菜单项后可打开下级菜单,下级菜单也称作下拉菜单,参见下图3中的红框区域。
⽐如我们点击“⽂件”菜单项,则出现与“⽂件”操作相关的下拉菜单,下拉菜单中有⼀组与⽂件相关的操作命令。
Windows7有些程序将菜单栏改成了选项卡标签,虽然也可称作菜单,但选中后并不出现下拉菜单⽽是进⾏功能区的切换。
功能区分类集中存放了程序⽤到的⼤部分⼯具。
这种功能区实际是将菜单命令⽤图形来表⽰了。
下图就展⽰了画图程序的两种功能区。
展⽰了画图程序在选取不同“标签”时窗⼝功能区的变化。
左图是选中“主页”标签后的功能区,右图是选中“查看”标签后显⽰的功能区。
5)窗⼝⼯作区窗⼝的主要区域称作窗⼝⼯作区,不同的程序窗⼝⼯作区显⽰的内容不同,记事本程序窗⼝⼯作区⽤于输⼊⽂字,画图程序则⽤来绘制图形。
WinForm窗体界面设计规范(240400)

StretchImage
输入法
PictureBox
89, 376
62, 22
StretchImage
主页
PictureBox
3, 376
21, 21
StretchImage
返回
PictureBox
216, 376
21, 21
StretchImage
列表界面
1、新建窗体,按照Form属性的设置方法设置当前窗体属性。
123, 209, 243
数据集
ListView
0, 0
240, 290
Tahoma, 10pt
123, 209, 244, 3
21, 17
StretchImage
关闭
PictureBox
216, 3
21, 17
StretchImage
主页
PictureBox
3, 376
WinForm窗体界面设计规范(240*400)
Form属性
名称
类型
Loaction
Size
WindowState
窗体
Form
0, 0
240, 400
Maximized
登录界面
1、新建窗体,按照Form属性的设置方法设置当前窗体属性。
2、给当前登录窗体添加背景图片,并设置其属性。
3、添加登录验证需要输入用户名和密码对应的文本框,并设置其属性。
21, 21
StretchImage
返回
PictureBox
216, 376
21, 21
StretchImage
50, 60
StretchImage
windows11窗体圆角阴影实现原理

windows11窗体圆角阴影实现原理Windows 11窗体圆角阴影实现原理Windows 11的设计中,窗体的圆角和阴影效果给人一种更加现代、柔和的视觉感受。
这种设计元素的实现,需要一些技术原理的支持。
本文将介绍Windows 11窗体圆角阴影的实现原理。
让我们先来了解一下什么是窗体的圆角和阴影效果。
所谓圆角,就是窗体的边角不再是直角,而是圆滑的曲线。
而阴影效果,则是指窗体周围有一层模糊的阴影,给人一种窗体浮起来的感觉。
这样的设计风格可以使窗体看起来更加立体、真实。
实现窗体的圆角和阴影效果,一般需要借助图形处理技术和硬件加速等技术手段。
具体来说,主要有以下几个步骤:1. 窗体的圆角效果实现在Windows 11中,窗体的圆角效果是通过对窗体的边界进行裁剪来实现的。
具体来说,当窗体创建完成后,系统会根据窗体的位置和大小等信息计算出窗体的边界,然后使用图形处理技术将窗体的边界进行裁剪,使得窗体的边角变得圆滑。
2. 窗体的阴影效果实现窗体的阴影效果是通过在窗体周围添加一个图层来实现的。
这个图层的形状和窗体的形状是一致的,但是比窗体的尺寸要稍微大一些。
然后,在这个图层上应用模糊效果,使得图层的边缘变得模糊,形成阴影效果。
最后,将这个图层放置在窗体的下方,使得窗体的阴影在底部显示出来。
3. 硬件加速的支持为了能够在实时操作下实现窗体的圆角和阴影效果,Windows 11使用了硬件加速技术来提高性能。
通过利用现代显卡的图形处理能力,可以更快地进行图形绘制和处理,从而实现窗体的圆角和阴影效果。
总结一下,Windows 11窗体的圆角和阴影效果是通过裁剪窗体边界和添加模糊图层来实现的。
这种设计风格使得窗体看起来更加现代、柔和,给用户带来更好的视觉体验。
同时,利用硬件加速技术可以提高性能,使得圆角和阴影效果可以在实时操作下得到保持。
通过这样的设计,Windows 11打造了一个更加美观、流畅的操作界面,提升了用户的使用体验。
C_Winform程序设计1Windows窗体介绍

创建窗体 为窗体添加控件 创建继承窗体 组织窗体上的控件 窗体的用途:自定义窗口 窗体的用途:创建多文档界面应用程序
Windows 窗体和 Web 窗体
创建窗体 设置窗体属性 窗体生命周期 处理窗体事件 Windows 窗体设计器生成的代码
特点
部署 图形
平台 编程模型 安全性
在其代码访问安全性实现中使用 通过验证请求者的凭据, 粒度权限,以保护计算机资源和 按URL控制获得访问Web应用 敏感信息 程序资源的授权
创建一个新的项目的同 时也创建了一个窗体
创建一个新窗体
1.
在解决方案资源管理 器中右键点击 “项 目”
单击“添加” 单击“添加Windows 窗体”
Windows窗体
可不必改注册表运行 GDI+
Web窗体
不需要下载和安装 交互或动态图形的更新需 要往返于服务器
响应
为需要交互的应用程序提供最快 可以利用浏览器的动态 的响应速度 HTML(DHTML)功能来创建丰 富的用户界面(UI)
要求在客户计算机上运行 .NET Framework 基于客户端Win32消息模式 只需浏览器 通过HTTP调用应用程序组 件
SDI
MDI
只有一个文档是可见的 打开一个文档之前,你必须关 闭另一个
同时显示多个文档 每个文档显示在它自己的窗口 中
• 创建一个父窗体
– 创建一个新项目 – 设置IsMdiContainer属性为True – 添加一个菜单项,来触发子窗体
• 创建一个子窗体
– 向项目添加一个新的窗体
• 从父窗体调用子窗体
2. 3.
窗体名:项目中窗体的名称
窗体

退 出
目 录 上一页 下一页
3、 选项组控件:是由一个组框及一组复 选框、选项按钮或切换按钮组成。 【例8-3】在“教师基本信息”窗体的主体节
添加一个选项组控件,显示性别字段。
退 出
目 录 上一页 下一页
4、组合框、列表框控件 列表框控件可以包含一列或几列数 据,用户只能从列表中选择值,而不能 输入新值。组合框的列表可以包含多行 数据,用户既可以进行选择,也可以输 入数据,这是列表框和组合框的区别。
目 录 上一页 下一页
退 出
【例8-2-1】在“教师基本信息”窗体的主体节 垂直添加三个文本框,三个文本框分别命名 “num”、“name”和“dat”,三个文本框 分别显示窗体数据源“教师”表中的“教师编 号”、“姓名”和“工作时间”三个字段值, 其中第一个文本框显示为灰色状态,三个文本 框对应的标签标题分别为“教师编号”、“姓 名”和“工作时间”,三个文本框对应标签的 名称分别是“Lab1”、“Lab2”和“Lab3”。
常用选择字段的小技巧:
目 录 上一页 下一页 返 回 退 出
1、如果要选择相邻的字段,单击 其中的第一个字段按下Shift键单击 最后一个字段;
2、如果要选择不相邻的字段,按 下Ctrl键单击要包含的每个字段名称。
方法二:使用工具箱添加控件
目 录 上一页 下一页 返 回 退 出
例7:打开一个新的窗体“设计”视图, 并在窗体中添加一个文本框控件。 (1)打开一个新的窗体“设计”视图;
退 出
例3:创建包含学号、姓名、性别、年龄 和照片信息的纵栏式窗体,名称为 “LF03”。 1. 创建选项卡窗体组单击窗体向导; 2. 在此对话框中选择学生表,并选择相应 字段,单击下一步,选择纵栏表; 3.单击下一步按钮,在弹出的对话框中输 入窗体的标题,然后单击完成按钮。
第6章窗体的设计与应用

【例】以js表为数据源使用自动创建窗体创建一个纵栏
式窗体。 ★操作步骤:
▲打开【新建窗体】对话框
▲选择窗体类型及数据源
二、使用窗体向导创建窗体 用窗体向导可以简单、快捷地创建一个简单的 数据维护窗体。 1、创建基于单一数据源的窗体 【例】以js表为数据源,使用窗体向导创建一个 表格式窗体。 ★操作步骤: ▲启动新建窗体向导 ▲选择数据源 ▲选择所需字段 ▲选择窗体类型 ▲选择窗体样式 ▲确定窗体标题
四、对记录筛选及排序
Access中提供了以下筛选方式: 按窗体筛选:在窗体中会显示空白字段,用户可以 在空白字段中输入筛选出的记录应包含的值。 按选定内容筛选:只筛选出包含当前选定值的记录。 内容排除筛选:筛选出不包含当前选定值的记录。 高级筛选/排序:会打开一个新的窗口。在窗口的筛 选设计网格中输入条件表达式,来查找符合符合条件 的记录子集。
第 三 节 在窗体中编辑使用数据
在窗体中可以浏览查看数据,也可以进行添加数据、修 改数据、删除数据等操作,对数据的编辑处理结果仍然保存 在数据库中。
一、定位数据
在一个数据表中往往包含多条记录,通过窗体浏览、 编辑数据时需要首先定位到相应的记录。在窗体的最下 方有一条记录导航栏
二、添加及编辑数据 三、删除记录
3. 数据表式窗体 ☆直接将数据表视图放到窗体中。 ☆便于用户进行数据维护操作。 ☆数据表式窗体和表格式窗体是同一窗体的不 同显示方式,可以在这两种窗体之间切换。
4. 图表式窗体 ☆以图表方式显示用户的数据,使得在比较数 据方面显得更为直观方便。 ☆既可以单独使用图表窗体,也可以在窗体中 插入图表控件。 ☆可以将图表窗体嵌入到其它窗体中作为子窗 体。 ☆Access提供了多种图表。
控制应用程序流程等人机交互的功能。
窗体

窗 体一.认识窗体:(一)窗体是应用程序和用户之间的接口,是创建数据库应用系统最基本的对象。
(二)窗体的作用:(1)输入、编辑、显示和打印数据;控制应用程序流程。
(三)窗体包括两部分内容:提示信息和要处理的记录; (四)窗体本身不存储数据,仅提供一个操作界面;二.窗体的类型:1.纵栏式窗体: 2.表格式窗体:3.数据表窗体:主要用来作为一个窗体的子窗体。
4.主/子窗体:三.窗体的视图:1.“设计”视图:是创建和修改窗体的窗口。
2.“窗体”视图:是用于输入、修改和查看数据的窗口。
四.创建窗体:使用向导创建窗体:自动创建窗体:灵活、方便,但不能满足更为复杂的要求。
如:以“选课成绩”表创建数据表式窗体。
“选课成绩” 窗体向导:可以灵活、全面的控制数据来源与窗体格式。
(一)创建基于单一数据源的窗体:如:使用“窗体向导”创建纵栏式窗体,显示“课程表”中所有的字段。
“课程表” (二)创建基于多个数据源的窗体:(主/子窗体)如:以“学生表”和“选课成绩”表为数据源,创建嵌入式的主子窗体。
“学生表1 选课成绩1” 如:以“学生表”和“选课成绩”表为数据源,创建链接式的主子窗体。
“学生表2 选课成绩2” 如:将“选课成绩”窗体设置为“课程表”窗体的子窗体。
创建图表窗体:(一)创建数据透视表窗体:如:以“教师”表为数据源,创建计算各系不同职称人数的数据透视表窗体。
(二)创建数据透图表窗体:如:以“教师”表为数据源,创建计算各系不同职称人数的数据透视图窗体。
(三)创建图表窗体:如:以“教师”表为数据源,创建图表窗体,统计并显示各系不同职称人数。
5.图表窗体:6.数据透视表窗体: 7.数据透视图窗体:五.设计窗体:(一)窗体设计视图的组成部分与操作:组成:(1).主体(2).窗体页眉(3).窗体页脚操作:(4).节的添加与删除。
.工具箱:用于添加控件;(二)常用的控件:窗体是由各种控件对象组成,常用控件对象如下:1.标签控件:用来在窗体或报表上显示说明文字;2.文本框控件:用来显示、输入或编辑数据,是一种交互式控件,可以在内写计算表达式;3.复选框:方形形式,主要用于实现多选,打钩状态为True;4.选项按扭:圆圈形式,主要用于单选,实心点状态为True;5.切换按扭:有按下和弹起两种状态;按下为True6.选项组控件:标签、组框与(复选框、选项按扭、切换按扭)的组合;7.列表框:用户只能从列表框中选择值,而不能输入新值;8.组合框:用户既可以选择值,也可以输入新值;9.命令按扭:可以执行某项操作;如:确定、取消、关闭、添加记录、删除记录、退出。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录C#控件前缀名大全 (1)2.Windows窗体设计概念及原则 (7)C#控件前缀名大全标准控件1 btn Button2 chk CheckBox3 ckl CheckedListBox4 cmb ComboBox5 dtp DateTimePicker6 lbl Label7 llb LinkLabel8 lst ListBox9 lvw ListView10 mtx MaskedTextBox11 cdr MonthCalendar12 icn NotifyIcon13 nud NumeircUpDown14 pic PictureBox15 prg ProgressBar16 rdo RadioButton17 rtx RichTextBox18 txt TextBox19 tip ToolTip20 tvw TreeView21 wbs WebBrowser容器控件1 flp FlowLayoutPanel2 grp GroupBox3 pnl Panel4 spl SplitContainer5 tab TabControl6 tlp TableLayoutPanel 菜单和工具栏1 cms ContextMenuStrip2 mns MenuStrip3 ssr StatusStrip4 tsr ToolStrip5 tsc ToolStripContainer6 cmu ContextMenu数据1 dts DataSet2 dgv DataGridView3 bds BindingSource4 bdn BindingNavigator5 rpv ReportViewer对话框1 cld ColorDialog2 fbd FolderBrowserDialog3 fnd FontDialog4 ofd OpenFileDialog5 sfd SaveFileDialog组件1 bgw BackgroundWorker2 dre DirectoryEntry3 drs DirectorySearcher4 err ErrorProvider5 evl EventLog6 fsw FileSystemWatcher7 hlp HelpProvider8 img ImageList9 msq MessageQueue10 pfc PerformanceCounter11 prc Process12 spt SerialPort13 scl ServiceController14 tmr Timer印刷1 psd PageSetupDialog2 prd PrintDialog3 pdc PrintDocument4 prv PrintPreviewControl5 ppd PrintPreviewDialog水晶报表1 crv CrystalReportViewer2 rpd ReportDocument其他1 dud DomainUpDown2 hsc HScrollBar3 prg PropertyGrid4 spl Splitter5 trb TrackBar6 vsc VScrollBar按字母AAdRotator----arBButton----btnCCalender----calCheckBox----chkCheckBoxList----chklst Column (DataGridView的)-col ColumnHeader (ListView 的) chCombobox----cbo CompareValidator----cv CrystalReportViewer---rptvew ContextMenu---cmuDDataGrid----dgDataGridView----dgvDataList----dlDomainUpDown----dud DropDownList----ddlFFileUpload -------------- ful Form ---------------------frmGGridView -------------- gv GroupBox -------------- grpHHiddenField --------------hfIImage -------------- img ImageButton --------------imgbtn ImageList -------------- ilLLabel -------------- lblLinkButton -------------- lnkbtn ListBox --------------lstListView -------------- lvMMenuStrip -------------- msOObjectDataSource -------------odsPPagedDataSource ------------- pds Panel -------------- pnlPictureBox ------------- picRRadioButton --------------rdo RadioButtonList ------------- rdolst RangeValidator ------------- rv RegularExpressionValidator rev Repeater -------------- rpt RequiredFieldValidator- rfvSStatusLabel--------------slbl StatusStrip --------------ssTTabControl -------------- tabTable -------------- tblTabPage --------------tpTextBox --------------txtTimer -------------- tmrToolStrip -------------- tsToolStripButton ------------- tsbtnToolStripDropDownButton-tsddbToolStripLabel ------------- tslblToolStripMenuItem- tsmiTreeView -------------- tv/tvwVValidatorSummary -------------vsWWebBrowser-------------- wb2.Windows窗体设计概念及原则本节介绍一下Windows窗体设计中的一些概念和原则。
控件的名称当开发人员在窗体中新增一个控件时,系统会给这个控件设置默认名称,比如对于Label控件,其默认名称可能为lable1、label2等,对于TextBox控件其默认名称可能为textBox1、textBox2等等。
如下图所示,笔者设计了一个“用户信息”窗体,在默认情况下,各个控件的名称如下图所示。
这是一种非常糟糕的窗体设计结果。
在编写该窗体的C#代码时,由于无法同时看到窗体设计界面,因此很难记下各种控件的名称及其功能。
当窗体控件比较多时,此时的程序代码的编写和维护时相当困难的。
[袁永福版权所有] 因此开发人员应当养成在窗体上新建控件就立即修改控件名称的习惯。
这样能有效的改进软件的用户界面的设计质量,也是窗体后台代码高质量的基础。
对于 Label控件,由于基本上不参与编程,只是在用户界面上显示一段不可改变的静态文本,因此可以不设置Label控件的名称,但当在少数情况下,当窗体后台代码需要操作Label控件的文本等属性值时,为了提高代码的质量也应当修改Label控件的名称。
比如对于下面这个窗体,各个数据输入控件的名称设置如下。
跟代码变量命名规则类型,窗体控件也有命名规则,业界主流的控件命名规则可能有多种,各种规则之间差别不大,笔者采用的命名规则大致如下[袁永福版权所有]控件名称一般为表示控件类型的前缀加上表示控件作用的字符组成。
常用控称前缀只是一个比较小的细节问题,即使有误也无伤大雅。
[袁永福版权所有] 笔者一般使用英文或者缩写来表示控件的作用,若没有合适的英文则采用汉语全拼音或者干脆用中文汉字,但绝不会用中文汉语拼音首字母,因为汉语拼音首字母很难仅仅从字母上猜出其表示的汉字,而猜测英文缩写相对容易得多。
如下图所示,可能有些人使用汉语拼音首字母来设置控件的名称,比如“姓名”文本框取名“txtXM”,这是一种不好的控件命名方式,因为很多时候是实在是难于从拼音首字母中猜测控件的作用,控件名称的低可读性降低了程序代码的可读性。
因此按照比较合理的命名方式,“姓名”文本框的名称就采用TextBox控件的前缀“txt”和表示姓名的英文“Name”组合而成为“txtName”。
一般来说商业软件不是“一次开发,长期使用”,而是“一次开发,长期修改,长期使用”,因此开发商业软件需要考虑到未来的修改和升级换代,此时程序代码不但要耐用,还需要耐看耐改,程序代码需要具备良好的可读性,而给控件设置合适的名称就是一个基础工作。
其实除了控件的名称,其他的诸如数据库表名字段名,窗体名称,程序模块名称等等都需要遵守一定的命名规范。
[袁永福版权所有]TabIndex属性首先的设置好控件的TabIndex属性值。
在程序运行显示窗体时,用户可以按下Tab键来切换输入焦点,而切换顺序就依照各个控件的TabIndex属性。
一般的输入焦点切换顺序按照从左到右,从上到下。
因此需要设置左上方位的控件的TabIndex属性值为小,右下方为的控件的TabIndex属性值为大。
但实际开发中还是按照具体功能需求来安排输入焦点切换顺序。
在设置各个控件的TabIndex属性值时不应设置为连续的值,比如设置第一个控件的TabIndex属性值为1,第二个控件为2,第三个控件为3,等等等。
采用这种设置时,当未来在输入焦点顺序中插入新的控件,则会需要修改大量的控件的TabIndex属性值。
为此笔者建议输入的各个控件的 TabIndex属性值不联系,比如有10的间隔,此时可以设置第一个控件的TabIndex属性值为10,第二个控件为20,第三个控件为30,等等等。
这样就为未来插入新的控件留下TabIndex顺序的空间。
如下图所示在这个“用户信息”窗体设计的例[袁永福版权所有]子中,当该窗体运行显示后,用户可以按下Tab键从左到右从上到下的切换焦点。
有些控件并不能接受输入焦点,比如Label控件,但仍然需要为这类控件设置合适的TabIndex属性值。