登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書

『簡體書』Visual C#.NET程序设计(第2版)

書城自編碼: 2986760
分類:簡體書→大陸圖書→教材研究生/本科/专科教材
作者: 刘秋香、王云、姜桂洪、刘树淑
國際書號(ISBN): 9787302465102
出版社: 清华大学出版社
出版日期: 2017-04-01
版次: 2 印次: 1
頁數/字數: 397/645000
書度/開本: 16开 釘裝: 平装

售價:HK$ 71.8

我要買

 

** 我創建的書架 **
未登入.


新書推薦:
新任经理 100 天实战指南
《 新任经理 100 天实战指南 》

售價:HK$ 89.7
日本百鬼画谱
《 日本百鬼画谱 》

售價:HK$ 71.3
大明拐点 : 天启党争
《 大明拐点 : 天启党争 》

售價:HK$ 66.7
纲鉴易知录评注(布面精装  全8册)
《 纲鉴易知录评注(布面精装 全8册) 》

售價:HK$ 572.7
官商跃迁:中国古代政商关系简史
《 官商跃迁:中国古代政商关系简史 》

售價:HK$ 101.2
当代学术·乡族与国家:多元视野中的闽台传统社会(修订本)
《 当代学术·乡族与国家:多元视野中的闽台传统社会(修订本) 》

售價:HK$ 101.2
了不起的中国冠军:讲给孩子的奥运故事
《 了不起的中国冠军:讲给孩子的奥运故事 》

售價:HK$ 78.2
海外中国研究·北京的六分仪:中国历史中的全球潮流
《 海外中国研究·北京的六分仪:中国历史中的全球潮流 》

售價:HK$ 78.2

 

編輯推薦:
深入讲解如何利用目前国际上*的开发工具和手段开发设计互动游戏。全面阐述X3D的技术要点,并结合具体的实例深入浅出地进行引导和讲解。提供大量的编程实例源程序,都在计算机上经过严格的调试并通过。
內容簡介:
本书以Visual Studio 2012为程序设计环境,采用案例方式对Visual C#.NET进行了全面阐述。
全书共分为15章,系统地介绍Visual C#.NET语法基础、Windows窗体与控件、三种基本结构的程序设计、面向对象的程序设计基础、面向对象的高级程序设计、程序调试与异常处理、界面设计、键盘和鼠标操作、数据库编程基础、文件操作、ActiveX控件、部署Windows应用程序等。每章均配有一定数量的习题,以方便学生巩固所学知识。
本书可作为高等院校计算机及其相关专业的本、专科学生的教材,也可作为初学编程人员的自学用书。为配合教学,本书还配有辅导教材《Visual C#.NET程序设计实践与题解》,可帮助读者进一步巩固所学的Visual C#.NET知识。
目錄
第1章 概述... 1
1.1 程序设计基础... 1
1.1.1
程序设计方法... 1
1.1.2
类和对象... 2
1.2 了解Visual Studio.NET. 4
1.2.1
.NET基本概念... 4
1.2.2
Visual Studio.NET集成开发环境... 6
1.3 创建简单的C#程序... 12
1.3.1
Visual C#.NET语言... 12
1.3.2
应用程序开发的一般步骤... 13
1.3.3 三种常用的应用程序... 14
1.4 本章小结... 22
习题... 22
第2章 Visual C#.NET语法基础... 24
2.1 C#程序结构... 24
2.1.1 程序的组成要素... 24
2.1.2 语法格式中的符号约定... 27
2.2 基本数据类型... 27
2.2.1 数值类型... 27
2.2.2 字符类型... 28
2.2.3 布尔类型和对象类型... 29
2.3 变量与常量... 29
2.3.1 变量... 29
2.3.2 常量... 30
2.3.3 类型转换... 32
2.4 运算符与表达式... 34
2.4.1 运算符与表达式类型... 34
2.4.2 运算符的优先级... 37
2.5 引用类型... 37
2.5.1 类... 37
2.5.2 接口... 38
2.5.3 委托... 39
2.5.4 数组... 40
2.5.5 字符串... 42
2.5.6 集合... 43
2.6 值类型... 47
2.6.1 枚举... 47
2.6.2 结构... 48
2.6.3 装箱与拆箱... 50
2.7 本章小结... 50
习题... 51
第3章 Windows窗体与控件... 52
3.1 窗体... 52
3.1.1 窗体的结构... 52
3.1.2 窗体的属性... 54
3.1.3 窗体的方法... 54
3.1.4 窗体的事件... 55
3.1.5 创建应用程序的操作界面... 56
3.2 几种常用控件... 58
3.2.1 标签... 58
3.2.2 链接标签... 60
3.2.3 文本框... 63
3.2.4 按钮... 65
3.2.5 控件的命名规则... 66
3.3 本章小结... 68
习题... 68
第4章 顺序结构程序设计... 70
4.1 赋值语句... 70
4.2 输入与输出... 71
4.2.1 控制台应用程序的输入与输出... 71
4.2.2 Windows应用程序的输入与输出... 73
4.3 消息框... 74
4.4 图片框与图像列表... 77
4.4.1 组件与控件... 77
4.4.2 图片框... 78
4.4.3 图像列表... 82
4.5 本章小结... 84
习题... 84
第5章 选择结构程序设计... 86
5.1 if语句... 86
5.1.1 if语句概述... 86
5.1.2 if-else语句... 88
5.1.3 if-else
if-else语句... 89
5.2 switch语句... 91
5.3 单选按钮与复选框... 94
5.3.1 单选按钮... 94
5.3.2 复选框... 95
5.4 容器控件... 98
5.4.1 分组框... 99
5.4.2 面板... 99
5.4.3 选项卡... 99
5.5 本章小结... 104
习题... 105
第6章 循环结构程序设计... 107
6.1 循环语句... 107
6.1.1 for语句... 107
6.1.2 foreach语句... 109
6.1.3 while语句... 111
6.1.4 do-while语句... 113
6.2 循环的嵌套... 115
6.3 跳转语句... 116
6.4 列表框、复选列表框与组合框... 117
6.4.1 列表框... 117
6.4.2
复选列表框... 121
6.4.3 组合框... 124
6.5 计时器与进度条... 128
6.5.1 计时器... 128
6.5.2
进度条... 130
6.6 本章小结... 133
习题... 133
第7章 面向对象的程序设计基础... 136
7.1 类和对象概述... 136
7.1.1 对象... 136
7.1.2 类... 137
7.2 面向对象技术概述... 137
7.2.1 封装性... 137
7.2.2 继承性... 138
7.2.3 多态性... 139
7.3 类和对象的创建... 139
7.3.1 类的创建... 139
7.3.2 对象的创建及使用... 140
7.3.3 类成员的可访问性... 142
7.3.4 类的数据成员... 143
7.4 类的方法... 144
7.4.1 方法的定义... 144
7.4.2 方法中的变量... 145
7.4.3 方法的参数... 146
7.4.4 方法的重载... 151
7.5 类的构造函数和析构函数... 153
7.5.1 构造函数... 153
7.5.2 析构函数... 154
7.6 类的属性... 156
7.7 静态类和静态成员... 159
7.7.1 静态类... 159
7.7.2 静态成员... 159
7.7.3 静态构造函数... 161
7.8 常用.NET框架类型... 163
7.8.1 Object类... 163
7.8.2 Convert类... 164
7.8.3 Math类... 165
7.8.4 DateTime结构... 167
7.9 本章小结... 170
习题... 170
第8章 面向对象的高级程序设计... 172
8.1 继承性... 172
8.1.1 继承的实现... 172
8.1.2 隐藏基类成员... 174
8.1.3 base关键字... 174
8.1.4 派生类的构造函数... 176
8.2 多态性... 179
8.2.1 重载和重写... 179
8.2.2 虚方法... 180
8.2.3 抽象方法与抽象类... 183
8.2.4 密封方法与密封类... 187
8.3 接口与多态... 188
8.3.1 定义接口... 188
8.3.2 实现接口... 189
8.3.3 使用接口... 192
8.4 分部类与命名空间... 193
8.4.1 分部类... 193
8.4.2 命名空间... 194
8.5 委托... 196
8.5.1 委托概述... 196
8.5.2 委托的声明及使用... 196
8.5.3 多路广播与委托合并... 200
8.5.4 委托中的协变与逆变... 202
8.6 事件... 203
8.6.1 事件简介... 203
8.6.2 声明事件和激发事件... 204
8.6.3 订阅事件和处理事件... 205
8.7 本章小结... 208
习题... 209
第9章 程序调试与异常处理... 211
9.1 程序错误与程序调试... 211
9.1.1 程序错误... 211
9.1.2 程序调试... 213
9.2 异常处理... 217
9.2.1 异常处理简介... 217
9.2.2 异常类... 218
9.2.3 引发异常... 219
9.2.4 异常的捕捉及处理... 220
9.3 本章小结... 223
习题... 224
第10章 界面设计... 225
10.1 菜单、工具栏与状态栏... 225
10.1.1 菜单... 225
10.1.2 工具栏... 231
10.1.3 状态栏... 234
10.2 对话框... 237
10.2.1 模式对话框与非模式对话框... 237
10.2.2 通用对话框... 237
10.2.3 自定义对话框... 244
10.3 RichTextBox控件... 244
10.3.1 常用属性... 244
10.3.2 常用方法... 246
10.4 界面布局... 251
10.4.1 控件的布局... 251
10.4.2 控件的锚定与停靠... 252
10.5 多窗体程序设计... 254
10.5.1 添加窗体和设置启动窗体... 254
10.5.2 多窗体程序设计的相关操作... 255
10.6 多文档界面程序设计... 262
10.6.1 创建MDI应用程序... 263
10.6.2 MDI的相关属性、方法和事件... 263
10.6.3 MDI应用程序中的菜单栏和工具栏... 266
10.7 本章小结... 268
习题... 268
第11章 键盘和鼠标操作... 270
11.1 焦点处理... 270
11.1.1 窗体对象的焦点... 270
11.1.2 控件对象的焦点... 271
11.2 键盘操作... 272
11.2.1 按键事件发生的顺序... 272
11.2.2 KeyPress事件... 272
11.2.3 KeyDown和KeyUp事件... 275
11.2.4 窗体的KeyPreview属性... 278
11.3 鼠标操作... 279
11.3.1
MouseEnter和MouseLeave事件... 279
11.3.2
MouseMove和MouseHover事件... 279
11.3.3
MouseDown和MouseUp事件... 281
11.3.4
MouseWheel事件... 282
11.3.5
MouseClick和MouseDoubleClick事件... 284
11.3.6 Click和DoubleClick事件... 284
11.3.7 鼠标事件发生的顺序... 285
11.3.8 设置鼠标指针... 285
11.4 本章小结... 287
习题... 288
第12章 数据库编程基础... 289
12.1 数据库基础知识... 289
12.1.1 数据库相关概念... 289
12.1.2 关系型数据库... 290
12.2 SQL基础知识... 291
12.2.1 SQL简介... 291
12.2.2 查询语句... 292
12.2.3 插入语句... 295
12.2.4 修改语句... 295
12.2.5 删除语句... 296
12.3 ADO.NET概述... 296
12.3.1 ADO.NET的概念... 296
12.3.2 ADO.NET对象模型... 297
12.3.3 ADO.NET访问数据库的两种模式... 298
12.4 利用ADO.NET访问数据库... 300
12.4.1
Connection对象... 300
12.4.2 Command对象... 305
12.4.3
DataReader对象... 306
12.4.4
DataAdapter对象... 310
12.4.5 DataSet对象... 312
12.4.6 ADO.NET相关组件... 314
12.4.7 数据绑定... 323
12.5 综合示例... 329
12.6 本章小结... 343
习题... 343
第13章 文件操作... 345
13.1 文件和流的概念... 345
13.2 文件的存储管理... 346
13.2.1
DriveInfo类... 346
13.2.2
Directory和DirectoryInfo类... 347
13.2.3 Path类... 348
13.2.4 File和FileInfo类... 349
13.3 文件的操作... 351
13.3.1 Stream类... 352
13.3.2
FileStream类... 354
13.3.3
StreamReader和StreamWriter类... 357
13.3.4
BinaryReader和BinaryWriter类... 361
13.4 本章小结... 362
习题... 362
第14章 ActiveX控件... 364
14.1 ActiveX控件概述... 364
14.1.1 ActiveX控件简介... 364
14.1.2 在工具箱中添加ActiveX控件... 364
14.2 开发ActiveX控件... 365
14.2.1 创建ActiveX控件... 366
14.2.2 测试ActiveX控件... 368
14.2.3 使用ActiveX控件... 368
14.3 多媒体ActiveX控件... 370
14.3.1 Windows
Media Player控件... 370
14.3.2
Shockwave Flash Object控件... 371
14.3.3
Microsoft Web Browser控件... 373
14.4 本章小结... 375
习题... 375
第15章 部署Windows应用程序... 377
15.1 应用程序部署概述... 377
15.1.1 Visual
Studio 2012提供的应用程序部署功能... 377
15.1.2 Windows
Installer和ClickOnce部署的比较... 378
15.1.3 选择部署策略... 379
15.1.4 部署前的准备工作... 379
15.2 使用ClickOnce部署Windows应用程序... 380
15.2.1 将应用程序发布到Web. 380
15.2.2 将应用程序发布到共享文件夹... 382
15.2.3 将应用程序发布到媒体... 384
15.3 使用Windows Installer部署Windows应用程序... 388
15.3.1 创建安装程序... 388
15.3.2 测试安装程序... 396
15.4 本章小结... 396
习题... 397
內容試閱
Visual C#.NET是Microsoft公司推出的.NET开发平台上一种面向对象的编程语言。利用这种面向对象的可视化编程语言,结合事件驱动的模块设计,可以使程序设计变得高效快捷。Visual Studio 2012是一套完整的工具,用于生成高性能的Windows桌面应用程序和企业级Web应用程序。本书从教学实际需求出发,结合初学者的认知规律,由浅入深、循序渐进地介绍Visual C#.NET程序设计的相关知识。全书体系完整、例题丰富、可操作性强,所有的例题全部通过调试。全书共分为15章,主要内容包括程序设计概述与Visual Studio.NET简介、Visual C#.NET语法基础、Windows窗体与控件、顺序结构程序设计、选择结构程序设计、循环结构程序设计、面向对象的程序设计基础、面向对象的高级程序设计、程序调试和异常处理、界面设计、键盘和鼠标操作、数据库编程基础、文件操作、ActiveX控件、部署Windows应用程序。本书具有如下特色:(1)简单易学,本书在编排上尽量简明扼要,不需要读者具有任何程序设计方面的基础知识。(2)本书知识点与实例紧密结合,全书提供几十个实例,读者可以随学随用,轻松掌握相关知识。(3)考虑到初学者的需要,本书实例中的操作均以明确的步骤和图表来说明。(4)本书每章的最后都给出了习题,可以进一步巩固知识点和掌握编程技巧。本书可作为高等院校相关专业的教材,完成教学的学时数为64学时(40学时讲授,24学时上机)左右。本书由刘秋香、王云、姜桂洪和刘树淑编写,编写过程中融入了编者的教学和项目开发经验。刘秋香编写第3~6、10、11、14、15章,王云编写第7~9、13章,姜桂洪编写第1、2章,刘树淑编写第12章,全书由刘秋香统稿。此外,本书还配有辅导教材《Visual C#.NET程序设计实践与题解》,内容包括了本书所有习题的详细参考答案、按本书章节顺序配备的实验指导、课程设计指导和模拟试题及答案。由于时间仓促和编者水平有限,书中错误与纰漏之处在所难免,敬请读者批评指正。欢迎大家发邮件到qxliu79@126.com与我们进行交流,以便重印或再版时改进。作 者2017年3月


Windows窗体与控件Windows窗体是以.NET Framework为基础的一个新平台,主要用来开发Windows窗体应用程序(简称Windows应用程序)。一个Windows应用程序通常由窗体对象和控件对象构成,即使开发一个最简单的Windows应用程序,也必须了解窗体对象和控件对象的使用。本章主要介绍Windows窗体的结构和常用属性、方法与事件,以及Label、LinkLabel、TextBox、Button几种常用控件的使用。3.1 窗体窗体(Form)就是平常所说的窗口,各种控件对象必须建立在窗体上。窗体对象是Visual C#应用程序的基本构造模块,是运行Windows应用程序时与用户交互操作的实际窗口。窗体有自己的属性、方法和事件,用于控制其外观和行为。3.1.1 窗体的结构窗体是包含所有组成程序用户界面的其他控件的对象。在创建Windows应用程序项目时,Visual Studio 2012会自动提供一个窗体,其组成结构如图3.1所示。
图3.1 窗体的结构窗体的结构与Windows的标准窗口一样,包含有控制菜单、标题栏、控制按钮、编辑区和窗口边框。1.控制菜单控制菜单是Visualc#.NET固有的一个菜单,在程序运行时,单击窗体左上角的图标将会显示该菜单。一般包含还原、移动、大小、最小化、最大化、关闭等菜单项。2.标题栏标题栏显示窗体的标题,标题一般为应用程序的名称。在创建Windows应用程序时,Visual Studio 2012会将窗体的标题栏设置为Form1。3.控制按钮控制按钮一般包括最小化按钮、最大化还原按钮、关闭按钮。在程序运行时,单击最小化按钮可以把窗体最小化到任务栏成为一个按钮,单击关闭按钮则关闭窗体。单击最大化按钮可以使窗体扩大至整个屏幕,此时该按钮变为还原按钮,再次单击该按钮,可以使窗体恢复至初始状态。4.编辑区窗体的编辑区占据了窗口的大部分,是容纳控件对象的区域。在程序的设计模式下,可以编辑控件对象;在程序运行时,可以操作控件对象与程序进行交互。5.窗口边框在程序运行时,当鼠标指针指向窗口边框时,鼠标指针会变为双向箭头,拖动鼠标指针可以改变窗体大小。在程序的设计模式下,当鼠标指针指向尺寸手柄时,鼠标指针也会变为双向箭头,拖动鼠标指针可以改变窗体大小。在创建Windows应用程序时,Visual Studio 2012会将窗体文件命名为Form1.cs(图3.2),建议编程人员将其改为能够描述程序用途的名称。在解决方案资源管理器中选择Form1.cs,在属性窗口中显示出相应文件属性,在文件名属性框的右侧区域输入新的文件名即可。也可以直接在解决方案资源管理器中右击Form1.cs,在弹出的快捷菜单中选择重命名选项,输入新的文件名即可。将应用程序的窗体文件名改为能够描述程序用途的名称,是一个良好的编程 习惯。3.1.2 窗体的属性窗体有一些表现其特征的属性,可以通过设置这些属性控制窗体的外观。窗体的主要属性如表3.1所示。表3.1 窗体的主要属性属性说明 AcceptButton 窗体的确定按钮,当用户按 Enter 键时相当于单击了该按钮 Backcolor 窗体的背景颜色 BackgroundImage 窗体的背景图像 BackgroundImageLayout 窗体的背景图像的布局方式 CancelButton 窗体的取消按钮,当用户按 Esc 键时相当于单击了该按钮 ControlBox 指示是否显示窗体的控制菜单图标与控制按钮 Enabled 指示是否启用窗体 Font 窗体中控件的文本的默认字体 ForeColor 窗体中控件的文本的默认颜色 FormBorderStyle 窗体的边框和标题栏的外观与行为 Icon 窗体的图标 Location 窗体相对于屏幕左上角的位置 MaximizeBox 指示窗体右上角的标题栏是否具有最大化还原按钮 MinimizeBox 指示窗体右上角的标题栏是否具有最小化按钮 Opacity 窗体的不透明度,默认值为100%,表明完全不透明 ShowIcon 指示是否在窗体的标题栏中显示图标 ShowInTaskbar 指示窗体是否在任务栏中显示 Size 窗体的大小(宽度和高度) StartPosition 窗体第一次出现时的位置 Text 窗体标题栏上显示的内容 TopMost 指示该窗体是否处于其他窗体之上 WindowState 窗体的初始可视状态(正常、最大化、最小化)属性值的设置有两种方式:一种是在设计程序时,通过属性窗口实现;另一种是在运行程序时,通过代码实现。通过代码设置对象属性的一般格式是:对象名.属性名 = 属性值;对于代码所在的窗体设置属性的格式是:this.属性名 = 属性值;3.1.3 窗体的方法窗体具有一些方法,调用这些方法可以实现特定的操作。窗体常用的方法如表3.2所示。表3.2 窗体常用的方法方法说明 Close 关闭窗体 Hide 隐藏窗体 Show 以非模式化的方式显示窗体 ShowDialog 以模式化的方式显示窗体关闭窗体与隐藏窗体的区别在于:关闭窗体是将窗体彻底销毁,之后无法对窗体进行任何操作;隐藏窗体只是使窗体不显示,可以使用Show或ShowDialog方法使窗体重新显示。模式窗体与非模式窗体的区别在于:模式窗体在其关闭或隐藏前无法切换到该应用程序的其他窗体;非模式窗体则可以在窗体之间随意切换。调用方法的一般格式为:对象名.方法名([参数列表])如果要对调用语句所在的窗体调用方法,则用this关键字(表示当前类的对象)代替对象名,即:this.方法名[参数列表];在面向对象的程序设计中,还有一种特殊的方法称为静态方法,这种类型的方法通过类名调用。调用的一般格式为:类名.静态方法名[参数列表];3.1.4 窗体的事件窗体作为对象,能够执行方法并对事件做出响应。窗体的常用事件如表3.3所示。表3.3 窗体的常用事件事件说明Load 当用户加载窗体时发生Click 在窗体的空白位置,单击鼠标时发生Activated 当窗体被激活,变为活动窗体时发生Deactivate 当窗体失去焦点,变为不活动窗体时发生FormClosing 当用户关闭窗体时,在关闭前发生FormClosed 当用户关闭窗体时,在关闭后发生如果要为窗体对象添加事件处理程序,首先在设计器窗口选中窗体对象,然后在属性窗口的事件列表中找到相应的事件并双击它,即可在代码窗口看到该窗体的事件处理程序。以Form1的Load事件为例,其事件处理程序的格式为:private void Form1_Loadobject sender, EventArgs e{ 程序代码}其中,Form1_Load是事件处理程序的名称,所有对象的事件处理程序默认名称都是对象名_事件名;所有对象的事件处理程序都具有sender和e两个参数,参数sender代表事件的源,参数e代表与事件相关的数据。3.1.5 创建应用程序的操作界面应用程序的操作界面由各个对象组成,创建操作界面就是在窗体上绘制代表各个对象的控件。1.添加控件向窗体中添加一个控件的步骤如下(以按钮为例)。(1)单击工具箱中的公共控件选项卡,出现各种控件。(2)将鼠标移到Button控件上单击,然后移到中间的窗体,这时会看到鼠标指针变成十字线的形状。(3)将十字线放在窗体的适当位置,单击窗体并按住鼠标左键不放,拖动鼠标画出一个矩形。(4)松开鼠标左键,会看到一个Button控件被创建在窗体上,如图3.3所示。
图3.3 向窗体中添加Button控件向窗体中添加控件的另一个简单方法,是双击工具箱中的控件。这样会在窗体的默认位置(如果先选定了某个控件对象,应是在该对象右下方位置,否则在窗体左上角)创建一个具有默认尺寸的控件,然后可以将该控件移到窗体中的其他位置。2.选择控件一个窗体上通常有多个控件,可以一次选择一个或多个控件。如果要选择一个控件,单击该控件,即可选中该控件。如果要选择多个控件,常用的方法有两种。一种方法是先选择第一个控件,然后按下Shift键(或Ctrl键)不放,依次单击要选择的其他控件,选择完毕后松开鼠标即可;另一种方法是在窗体的空白位置,单击窗体并按住左键不放,拖动鼠标画出一个矩形,然后松开鼠标,则该矩形区域内的控件都会被选中。如果要撤销被选择的多个控件中的某个控件,只需按住Shift键(或Ctrl键)不放,单击要撤销的被选择控件。3.调整控件的尺寸和位置调整控件的尺寸和位置,可以通过设置控件的相应属性来实现。但在对控件尺寸和位置要求的精确度不高的情况下,最快捷的方法是在窗体设计器中直接用鼠标调整控件的尺寸和位置。用鼠标调整控件尺寸的步骤如下:(1)单击需要调整尺寸的控件,控件上出现8个尺寸手柄。(2)将鼠标指针定位到尺寸手柄上,当指针变为双向箭头时按下鼠标左键,拖动该尺寸手柄直到控件达到所希望的大小为止。控件角上的4个尺寸手柄可以同时调整控件水平和垂直方向的大小,而边上的4个尺寸手柄调整控件一个方向的大小。(3)松开鼠标左键。也可以按Shift键加上箭头键,来调整选定控件的尺寸。用鼠标调整控件位置的步骤如下:(1)将鼠标指针指向要移动的控件,当鼠标指针变为十字箭头时,按下鼠标左键不放。(2)用鼠标把该控件拖动到新位置。(3)松开鼠标左键。也可以通过键盘来调整选定控件的位置。每按一次箭头键,控件移动一个像素;如果按Ctrl键加上箭头键,控件每次移动一定的距离(多个像素),来与其他控件对齐。4.对控件进行布局对控件进行布局,可以通过格式菜单或布局工具栏实现。布局工具栏如图3.4所示。如果布局工具栏没有显示,可以通过视图菜单下的工具栏布局命令来显示布局工具栏。如果工具栏上布局按钮没有全部显示,可以通过最右侧的下拉按钮来勾选显示。
图3.4 布局工具栏布局的内容包括对齐、大小、间距、叠放次序等。当多个控件被同时选中时,控件的所有布局功能都可用;只有一个控件被选中时,只有少数布局功能可用。5.设置所有控件的Tab键顺序索引Tab键顺序是指当用户按下Tab键时,焦点在控件间移动的顺序。每个窗体都有自己的Tab键顺序,每个控件在窗体上也都有唯一的Tab键顺序索引。默认状态下,控件在窗体上的Tab键顺序索引与建立控件的顺序一致。如果要设置窗体上控件的Tab键顺序索引,可以分别对每个控件设置其TabIndex属性,也可以集中设置所有控件的Tab键顺序索引。要集中设置所有控件的Tab键顺序索引,可以从视图菜单中选择Tab键顺序命令。此时,窗体上每个控件的左上角都有一个蓝底白字的小方框,方框中白色的数字(从0开始)就是控件的当前Tab键顺序索引。如果需要改变多个控件的Tab键顺序索引,按照想设置的顺序依次单击各个控件,被单击过的控件,其左上角小方框变为白底蓝字,所有控件都被单击过之后,左上角小方框又变回蓝底白字。Tab键顺序命令是一个切换命令,因此设置好所有控件的Tab键顺序索引之后,再次选择Tab键顺序命令即可结束Tab键顺序索引的设置。6.锁定所有控件可以把窗体及该窗体上的所有控件进行锁定,锁定之后,窗体的尺寸及控件的位置和尺寸就无法通过鼠标或键盘操作来改变。锁定控件可以防止已处于理想位置的控件因为不小心而被移动。如果要进行锁定操作,在窗体编辑区的任意位置右击,从弹出的快捷菜单中选择锁定控件命令即可。本操作只锁定选定窗体上的全部控件,不影响其他窗体上的控件。如果要调整锁定控件的位置和尺寸,可以在属性窗口中改变控件的Location和Size属性。锁定控件命令是一个切换命令,因此再次选择锁定控件命令即可解除锁定。3.2 几种常用控件下面介绍几种最常用的基本控件:标签、链接标签、文本框和按钮。3.2.1 标签标签(Label)控件的功能是显示不能编辑的文本信息,一般用于在窗体上进行文字说明。标签有Name(名称)、AutoSize(自动尺寸)、BackColor(背景色)、BorderStyle(边框)、Enabled(可用)、Font(字体)、ForeColor(前景色)、Image(图像)、ImageAlign(图像对齐方式)、Location(位置)、Locked(锁定)、Size(尺寸)、Text(文本)、TextAlign(文本排列)、Visible(可见)等属性。1.设置标签的名称任何对象都有名称,Name属性指示代码中用来表示对象的名称。要设置Label控件的名称,首先选择Label控件,然后在属性窗口中设置Name属性为某个标识符即可。例如,有一个要显示学生姓名文本的标签,可以设置其Name属性为lblStuName。2.设置标签的文本在Label控件中显示文本,使用Text属性。首先要选择Label控件,然后在属性窗口中设置该属性为某个字符串即可。Label控件中的文本默认的排列方式为靠上左对齐,通过设置TextAlign属性可以改变排列方式。TextAlign属性值是ContentAlignment枚举类型,共有9个枚举值,默认值是TopLeft。如果设置TextAlign为TopCenter,排列方式为靠上居中。3.设置标签的图像Image属性用来设置在标签上显示的图像。当在属性窗口中设置该属性时,单击该属性条,右端出现按钮后单击它,会打开选择资源对话框,如图3.5所示。
图3.5 选择资源对话框在选择资源对话框中,根据需要选择本地资源或项目资源文件,然后单击对应的导入按钮,在出现的打开对话框中选择所需的图像文件即可。如果选择本地资源,程序运行时从指定位置的图像文件加载图像;如果选择项目资源文件,导入的图像文件会被复制到项目文件夹中的Resources文件夹下,程序运行时从Resources文件夹下的图像文件加载图像。如果在运行时设置Image属性,可以使用Image类的静态方法FromFile,格式如下:对象名.Image = Image.FromFile"图像文件的路径及名称";4.自动调整标签大小AutoSize属性决定标签文本能否根据文本大小自动调整标签大小。Label控件的AutoSize属性默认值为true,可以根据Text属性指定的文本自动调整标签的大小。如果AutoSize属性设置为false,则标签将保持设计时定义的大小,在这种情况下,如果文本太长,则只能显示其中的一部分。当文本超过Label控件的宽度时,文本会自动换行,但在超过控件的高度时,超出的部分将无法显示出来。5.标签的其他属性描述Label控件的边框的属性是BorderStyle,默认值为none(无边框)。如果将该属性设成FixedSingle,那么Label控件就有了一个黑色边框;如果将该属性设成Fixed3D,那么Label控件就有了一个立体边框。决定Label控件是否可见的属性是Visible,默认值为true(可见)。如果将该属性设成false,那么Label控件将被隐藏。还可以通过设置Label控件的BackColor(取值Transparent无背景色)、ForeColor、Font等属性来改变Label控件的其他外观;通过设置Label控件的Location、Locked、Size等属性来影响Label控件的位置和尺寸。运行程序时,Label控件不接受焦点,无法利用键盘或鼠标对其进行操作。Visual Studio 2012中,如果未设置Label对象的BackColor属性,当设置了窗体的BackColor属性后Label对象的背景色也随之改变。3.2.2 链接标签链接标签(LinkLabel)控件的功能是显示带链接的文本信息,可以链接到对象(如其他窗体、本机文件)或网页。利用LinkLabel 控件,可以向Windows窗体应用程序添加Web样式的链接。LinkLabel不仅具有Label 控件的所有属性,而且还有针对超链接和链接颜色的独特属性。1.设置链接文本在LinkLabel控件中显示文本,使用Text属性。设置好Text属性之后,所有文本都属于链接的范围。如果要将文本的一部分设置为指向某个对象或网页的链接,还需要设置LinkArea属性。LinkArea属性用于获取或设置激活链接的文本区域(即文本中视为链接的范围)。该属性值是用包含两个数字的LinkArea对象表示的,这两个数字分别表示起始字符位置和字符数目。在属性窗口中,该属性值可以从键盘输入,也可以单击属性值右侧的小按钮,在弹出的LinkArea编辑器中选择要进行链接的文本范围。2.设置链接颜色与LinkLabel的颜色相关的属性有3个,分别是LinkColor、ActiveLinkColor 和Visited LinkColor。(1)LinkColor属性:获取或设置显示普通链接使用的颜色。(2)ActiveLinkColor属性:获取或设置显示活动链接(如单击鼠标时)的颜色。(3)VisitedLinkColor属性:获取或设置显示被访问过的链接所使用的颜色。当Link Visited(链接是否被访问过)属性为true时,才能显示该颜色。3.设置链接行为LinkBehavior属性,获取或设置一个表示链接行为的值。利用该属性,可以指定链接在LinkLabel控件中显示时的行为。LinkBehavior属性值为LinkBehavior枚举类型,共有4个成员,如表3.4所示,默认值为SystemDefault。表3.4 LinkBehavior枚举成员成 员 名 称说明SystemDefault此设置的行为取决于使用控制面板或 Internet Explorer 中的Internet 选项对话框设置的选项AlwaysUnderline该链接始终显示为带下画线的文本HoverUnderline仅当鼠标悬停在链接文本上时,该链接才显示带下画线的文本NeverUnderline链接文本从不带下画线(仍可使用LinkColor属性将该链接与其他文本区分开)4.LinkClicked事件LinkClicked事件是LinkLabel控件的主要事件,当单击LinkLabel控件内的链接文本时触发。在窗体上双击LinkLabel控件,将在代码中添加LinkClicked事件处理程序的框架,然后在框架内部添加相应代码即可。窗体或控件的大多数事件处理程序,都可以通过属性窗口添加。在属性窗口中单击事件按钮来切换到事件列表,然后双击相应的事件名,即可在代码中添加事件处理程序的框架。。【例3-1】 标签与链接标签的简单应用。使用Label和LinkLabel控件,设计一个打开对象或网页的程序,程序设计界面如图3.6所示。具体步骤如下。(1)设计界面。新建一个C#的Windows应用程序,项目名称设置为LinktoObjectAndWeb,向窗体中添加1个标签和3个链接标签,并按照图3.6所示调整控件位置和窗体尺寸。(2)设置属性。窗体和各个控件的属性设置如表3.5所示。表3.5 例3-1对象的属性设置对象属 性 名属 性 值Form1Text使用链接标签label1Text使用LinkLabel控件链接到对象或网页
ForeColorRedlinkLabel1NamelnkForm
Text链接到Form窗体
LinkArea3,4linkLabel2NamelnkFile
Text链接到本机文件
LinkArea3,2linkLabel3NamelnkWeb
Text链接到百度网站
LinkArea3,2(3)编写代码。依次双击3个链接标签,打开代码视图,分别在各个链接标签的LinkClicked事件处理程序中添加相应代码:private void lnkForm_LinkClickedobject sender,LinkLabelLinkClicked EventArgs e{Form f2 = new Form;f2.Show;lnkForm.LinkVisited = true;}private void lnkFile_LinkClickedobject sender,LinkLabelLinkClicked EventArgs e{lnkFile.LinkVisited = true;使用 Start 方法和一个本机文件路径,启动默认程序打开文件System.Diagnostics.Process.Start"Kiya.jpg"; 此处使用相对路径,"Kiya.jpg"位于项目文件夹下的bin\Debug中}private void lnkWeb_LinkClickedobject sender,LinkLabelLinkClicked EventArgs e{lnkWeb.LinkVisited = true;使用 Start 方法和一个 URL,启动默认浏览器打开网页System.Diagnostics.Process.Start"http:www.baidu.com";}(4)运行程序。单击启动调试按钮或按F5键运行程序,在窗体中依次单击链接文本Form、本机、百度查看结果。3.2.3 文本框文本框(TextBox)控件是程序界面上的主要输入对象,有时也用于输出。其主要功能是接收用户输入的信息,或显示系统提供的文本信息。在程序运行时,用户可以在文本框中编辑文本。文本框具有标签的大多属性,如Name、BackColor、BorderStyle、Enabled、Font、ForeColor、Location、Locked、Size、Text、TextAlign、Visible等属性。文本框还有一些自己特有的属性,如MaxLength(最大长度)、Multiline(多行)、PasswordChar(密码字符)、ReadOnly(只读)、ScrollBars(滚动条)、SelectedText(选定的文本)、SelectionStart(选择起始点)、SelectionLength(选择长度)、TextLength(文本长度)、WordWrap(文本换行)等。1.设计时设置文本框的文本在TextBox控件中显示文本,使用Text属性。TextBox在默认情况下只显示单行文本,且不显示滚动条。如果文本长度超过可用空间,则只能显示部分文本。通过设置Multiline、WordWrap和ScrollBars 3个属性,可以改变TextBox的外观和行为。把Multiline属性设为true,可以使TextBox在运行时接收或显示多行文本。WordWrap属性的默认值为true,即允许自动换行。只要没有水平方向滚动条,TextBox中的多行文本会自动按字换行。ScrollBars属性的默认值为none(无滚动条),还有Horizontal(水平)、Vertical(竖直)、Both(两者)3个可取值。如果要显示水平滚动条,除了将ScrollBars属性值设置为Horizontal,还需要将WordWrap属性值设置为false。自动换行省去了用户在行尾插入换行符的麻烦,当一行文本已超过所能显示的长度时,TextBox自动将文本折回到下一行显示。如果用户因为特殊要求必须使用换行符,在设置Text属性时,在属性值处不能直接输入换行符,而需要在属性窗口中单击属性值右侧的下拉箭头,然后在下拉列表框中适当的位置输入换行符。2.运行时设置文本框的文本当一个TextBox首次得到焦点时,TextBox的所有文本默认是选中的。用户可以用键盘和鼠标移动插入点,当TextBox失去焦点而后再得到时,插入点位置与用户最后设置的位置一样。在某些情况下,可能用户有特殊要求,例如,有时希望新字符出现在已有文本后面,有时希望新的输入替换原有文本。利用TextBox的SelectionStart、SelectionLength和SelectedText属性,可以控制TextBox的插入点和选择行为。这3个属性不能通过属性窗口设置,只能通过代码访问。SelectionStart属性是一个数字,代表选择文本的起始点,即TextBox文本内的插入点,其中值0表示最左边的位置。如果其值大于或等于文本中的字符数,那么插入点将被放在最后一个字符之后。SelectionLength属性是一个设置插入点宽度的数值,用于指示选择文本的长度。把SelectionLength设为大于0的值,会选中并突出显示从当前插入点开始的SelectionLength个字符。如果有一段文本被选中,此时用户输入的文字将替换被选中的文本。SelectedText属性用于指示选定的文本。可以在运行时通过该属性来获取当前选定的文本,也可以给该属性赋值以替换当前选中的文本。如果没有选中的文本,给SelectedText属性赋值将在当前插入点插入文本。如果在窗体加载时就让文本框中的文本选中,需要先设置文本框的TabIndex属性为0,然后在窗体的Load事件方法中设置SelectionStart和SelectionLength属性。3.密码文本框密码文本框是文本框常用的一种特殊形式,它允许在用户输入密码的同时显示星号(*)之类的占位符。利用文本框的PasswordChar和MaxLength属性,可以实现密码框的 功能。PasswordChar属性用于指定显示在文本框中的字符。例如,若希望在密码框中显示星号,则可在属性窗口中将PasswordChar属性指定为*,这样无论用户输入什么字符,文本框中都显示星号。MaxLength属性用于指定允许在文本框中输入的最大字符数。如果输入的字符数超过MaxLength指定的值,系统不接收多出的字符并发出嘟嘟声。4.只读文本框只读文本框不允许用户进行编辑操作,从而可以防止用户更改文本框内容。ReadOnly属性可以实现只读文本框的功能,只需将该属性值设置为true即可。此时,用户可滚动文本框中的文本并将其突出显示,但不能做任何更改。ReadOnly属性只影响程序运行时的用户交互,在运行时仍然可以通过代码更改文本框的内容。5.文本框的常用方法文本框的大多数方法都是用来进行文本操作,常用的方法有AppendText(追加文本)、Clear(清除所有文本)、Copy(复制选定文本)、Cut(剪切选定文本)、Focus(获得焦点)、Paste(粘贴指定文本)、Select(选择指定范围的文本)、SelectAll(全选)等。6.文本框的常用事件文本框可以识别多个事件,常用的事件有TextChanged(文本更改)、KeyDown(按下键)、KeyUp(释放键)、KeyPress(按下并释放键)、MouseDown(按下鼠标按钮)、MouseUp(释放鼠标按钮)、MouseMove(鼠标指针移过)等。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 大陸用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.