
本书详述Visual Basic 2008语言重要语法,并于书中融入165个完整程序范例和大量插图,通过这些简练的示例详解每一个知识点,由浅入深,内容详实。
全书共19章。第1~9章为Visual Basic 2008开发环境和基础语法介绍,包括程序语言和.NET介绍、面向对象的程序设计、基本数据处理、流程控制、数组与字符串、过程与函数;第10~11章讲述Visual Basic 2008中的面向对象概念;第12~17章则主要介绍了Visual Basic 2008中程序设计较为深入的内容,包括键盘及鼠标事件、常见的窗体对象、菜单与工具栏设计、绘图入门与应用、程序的调试和异常处理以及文件系统操作等;第18章为数据库编程基础篇,介绍了ADO.NET技术以及如何利用ADO.NET进行数据库连接等。最后一章为案例实践,利用Windows Forms制作一个完整的程序——网页浏览器,初学者可以更实际地看到Visual Basic开发网络应用程序的妙用。本书的所有程序范例都以完整程序代码说明,并加以充分注解,能有效降低学习难度。章后精心设计461个习题和编程实践题,书后附答案,非常适合自学。
本书是Visual Basic 2008入门级用户和初级开发人员的最佳自学参考用书,也可以用作相关课程的案例实践型教材。
前 言
Visual Studio 2008的推出,使得开发人员可以更高效、更快捷地进行Web开发。但很多开发人员都有这样的体会,即便使用.NET开发多年,也觉得水平和效率都难以提高,其主要原因是在开发过程中只注重技术的学习,却缺乏对其如何应用做深入地研究,尤其是控件的应用。
在.NET中,应用的开发过程实质上就是控件的应用过程,我们在页面中使用的每个控件,甚至页面都是一个派生自System.Web.UI.Page控件的类,只不过Page控件是一个特殊的容器控件,但是它的生命周期与一般控件生命周期是一样的。当掌握了控件的工作原理再来开发一个页面就会非常容易,所以说学习控件应用技术是迅速掌握Web开发技术的有效途径。
在Visual Studio 2008中,控件的数量、用法和属性也发生了相当大的变化,本书针对Visual Basic.NET 2008,通过近200个例子详细讲解各类控件在实际开发中的具体应用,尤其是水晶报表、多媒体、自定义控件、打印、目录、线程刷新等.NET技术的核心内容。
本书内容
全书内容共分13章,分别介绍可调节类控件、选择类控件、显示类控件、组合类控件、容器类控件、菜单和工具栏类控件、数据控件、应用类控件、打印类控件、对话框类控件、水晶报表控件、多媒体播放控件、自定义控件等13类控件的编程应用技术。
第1章“可调节类控件”重点介绍Datetimepicker控件、MonthCalendar控件、NumericUpDown控件等用于进行界面信息调节的控件。
第2章“选择类控件”重点介绍RadioButton控件、CheckBox控件、CheckedListBox控件。
第3章 “显示类控件”重点介绍TextBox控件、RichTextBox控件、LinkLabel控件、MaskedTextBox控件、NotifyIcon控件、PictureBox控件、ProgressBar控件、ToolTip控件、WebBrowser控件。
第4章“组合类控件”重点介绍ListBox控件、ComboBox控件、ListView控件、TreeView控件。
第5章“容器类控件”重点介绍FlowLayoutPanel控件、GroupBox控件、SpliterContainer控件、TabControl控件、StatusBar控件。
第6章“菜单和菜单栏类控件”重点介绍ContextMenuStrip控件、MenuStrip控件、ToolStrip控件、ToolStripDropDown控件、ToolStripContainer控件。
第7章“数据控件”重点介绍DataSet控件、DataGridView控件、BindingSource控件。
第8章“应用类控件”重点介绍Backgroundworker控件、DirectoryEntry控件、DirectorySearch控件、ErrorProvider控件、EventLog控件、FileSystemWatch控件、HelpProvider控件、ImageList控件、MessageQueue控件、PerformanceCounter控件、Process控件、SerialPort控件、ServiceController控件、Timer控件。
第9章“打印类控件”重点介绍PageSetupDialog控件、PrintDialog控件、PrintDocument控件、PrintPreviewDialog控件。
第10章“对话框类控件”重点介绍ColorDialog控件、FolderBrowserDialog控件、FontDialog控件、OpenFileDialog控件、SaveFileDialog控件。
第11章“水晶报表控件”重点对水晶报表的详细应用、导出等进行介绍,并通过实例进行演示。
第12章“多媒体播放控件”重点介绍如何用MediaPlayer控件、Multimedia MCI控件制作音乐播放器、影音播放器,给出的实例稍加修改即可用于实际项目。
第13章“自定义控件”通过实例介绍了3种最常用的自定义控件的方法。
本书特点
本书注重内容的全面性和案例的实用性,对于每一个控件都从作用、属性的用法及其对操作结果的影响、相关编程基础知识等方面进行一一介绍,主要特点如下:
● 在章节安排方面,按照控件应用特点进行分类,共13类,涉及60多个控件。
● 对于每个控件的重点属性,基本上都会有对应的应用示例,并讨论其不同设置对应用效果的影响。
● 对于每个控件的常用属性,都会给出综合性的应用举例。
● 对于可取值比较多的控件属性,分别介绍各取值的作用,并在案例中对常用取值进行重点演示。
● 对于需要了解相关背景才能熟练应用的控件及其属性,本书会在相关地方补充介绍必须了解的知识点。
● 本书的所有案例代码,均可以从以下网站下载:http://www.booksaga.com.cn。
本书适合稍有.NET开发基础的所有Visual Basic.NET 2008应用开发人员。相信您阅读完本书之后,会发现这是一本很实用,且能提高编程效率的好书,一定能成为您工作中的良师益友;由于书中对每个控件应用技术点,都进行了详尽的阐述,内容比较全面,因此本书也可以作为查找手册使用。
本书作者
本书由范胜荣主持编写,参与图书编写和资料准备工作的还有吴建明、曾志全、吴友平、吴祖平、肖文斌、徐红生、徐华、余德钊、俞善泉、余善卫、周志涛、祝欢等人,在此向所有关心、支持本书出版的朋友和为本书出版付出辛勤劳动的出版社编辑人员表示衷心感谢!
范盛荣
2009年1月
目 录
第1章 可调节类控件 1
1.1 Datetimepicker控件 1
1.1.1 CalendarFont属性 1
1.1.2 CalendarForeColor属性 2
1.1.3 CalendarMonthBackground属性 3
1.1.4 CalendarTitleBackColor属性 4
1.1.5 CalendarTitleForeColor属性 5
1.1.6 CalendarTrailingForeColor属性 5
1.1.7 CustomFormat属性 6
1.1.8 Location属性 8
1.1.9 Region属性 8
1.1.10 ShowUpDown属性 9
1.1.11 ShowCheckBox属性 9
1.1.12 Size属性 10
1.1.13 Value属性 10
1.1.14 另外2种显示时间和日期的方法 10
1.2 MonthCalendar控件 12
1.2.1 属性说明 12
1.2.2 应用举例 14
1.3 NumericUpDown控件 20
1.3.1 Anchor属性 20
1.3.2 AutoSize属性 22
1.3.3 CausesValidation属性 22
1.3.4 Increment属性 25
1.3.5 InterceptArrowKeys属性 25
1.3.6 Maximum、Minimum属性 25
1.3.7 ThousandsSeparator属性 25
第2章 选择类控件 26
2.1 RadioButton控件 26
2.1.1 AllowDrop属性 26
2.1.2 Anchor属性 28
2.1.3 AutoEllipsis属性 32
2.1.4 BackColor属性 34
2.1.5 BackgroundImage属性 34
2.1.6 BackgroundImageLayout属性 35
2.1.7 FlatStyle和FlatAppearance属性 39
2.1.8 Image类属性 40
2.1.9 Image类属性应用举例 41
2.1.10 UseWaitCursor属性 45
2.1.11 UseVisualStyleBackColor属性 45
2.1.12 ContextMenuStrip属性 45
2.1.13 TextImageRelation属性 46
2.2 CheckBox控件 48
2.3 CheckedListBox控件 49
2.3.1 CausesValidation属性 49
2.3.2 CheckOnClick属性 50
2.3.3 ColumnWidth属性 51
2.3.4 Cursor属性 54
2.3.5 Dock 属性 55
2.3.6 FormatString和FormattingEnabled属性 55
2.3.7 HorizontalScrollbar和HorizontalExtent属性 56
2.3.8 ImeMode属性 58
2.3.9 IntegralHeight属性 63
2.3.10 Items属性 64
2.3.11 MaximumSize和MinimumSize属性 65
2.3.12 MultiColumn属性 65
2.3.13 RightToLeft属性 66
2.3.14 ScrollAlwaysVisible 属性 67
2.3.15 SelectionMode属性 68
2.3.16 Sorted 属性 68
2.3.17 ThreeDCheckBoxes属性 69
2.3.18 UseCustomTabOffsets属性 70
第3章 显示类控件 71
3.1 TextBox控件 71
3.1.1 AcceptsReturn属性 71
3.1.2 AcceptsTab属性 72
3.1.3 AutoCompleteCustomSource属性 73
3.1.4 AutoCompleteMode属性 74
3.1.5 AutoCompleteSource属性 74
3.1.6 CharacterCasing属性 77
3.1.7 HideSelection属性 78
3.1.8 Lines和Multiline属性 79
3.1.9 MaxLength属性 80
3.1.10 PasswordChar属性 80
3.1.11 ScrollBars属性 82
3.1.12 UseSystemPasswordChar属性 83
3.1.13 WordWrap属性 84
3.2 RichTextBox控件 85
3.2.1 Lines属性 85
3.2.2 ScrollBars属性 86
3.2.3 AutoWordSelection属性 87
3.2.4 BulletIndent属性 88
3.2.5 SelectionFont属性 88
3.2.6 DetectUrls属性 90
3.2.7 EnableAutoDragDrop属性 91
3.2.8 ShortCutsEnabled属性 92
3.2.9 ShowSelectionMargin属性 93
3.2.10 ZoomFactor属性 93
3.3 LinkLabel控件 94
3.3.1 ActiveLinkColor属性 94
3.3.2 BorderStyle属性 94
3.3.3 DisabledLinkColor属性 94
3.3.4 LinkColor属性 94
3.3.5 LinkVisited属性 95
3.3.6 VisitedLinkColor属性 95
3.3.7 LinkBehavior属性 95
3.4 MaskedTextBox控件 96
3.4.1 AllowPromptAsInput属性 97
3.4.2 BeepOnError属性 99
3.4.3 CausesValidation属性 100
3.4.4 HidePromptOnLeave属性 102
3.4.5 Mask属性 104
3.4.6 MaskCompleted属性 105
3.4.7 MaskFull属性 106
3.4.8 PasswordChar属性 107
3.4.9 TextMaskFormat属性 108
3.4.10 SkipLiterals属性 110
3.4.11 ResetOnSpace属性 112
3.4.12 ResetOnPrompt属性 112
3.4.13 RejectInputOnFirstFailure属性 113
3.4.14 InsertKeyMode属性 114
3.4.15 HidePromptOnLeave属性 115
3.4.16 Culture属性 115
3.5 NotifyIcon控件 117
3.5.1 基本属性 117
3.5.2 基本属性应用举例 117
3.5.3 ContextMenu属性 118
3.5.4 ContextMenuStrip属性 120
3.5.5 Icon属性 123
3.6 PictureBox控件 123
3.6.1 控件属性 124
3.6.2 应用举例 124
3.7 ProgressBar控件 126
3.7.1 HasChildren 属性 126
3.7.2 MarqueeAnimationSpeed属性 127
3.7.3 RightToLeft属性 128
3.7.4 Step属性 128
3.7.5 Style属性 128
3.8 ToolTip控件 129
3.8.1 Active属性 129
3.8.2 AutomaticDelay属性 129
3.8.3 AutoPopDelay属性 129
3.8.4 InitialDelay属性 130
3.8.5 IsBalloon属性 130
3.8.6 ReshowDelay属性 130
3.8.7 ShowAlways 属性 130
3.8.8 StripAmpersands属性 131
3.8.9 ToolTipIcon属性 131
3.8.10 UseAnimation属性 131
3.8.11 UseFading 属性 131
3.8.12 ToolTipTitle属性 131
3.8.13 应用举例 131
3.9 WebBrowser控件 132
3.9.1 常用属性 132
3.9.2 应用举例 133
第4章 组合类控件 136
4.1 ListBox 控件 136
4.1.1 BindingContext属性 136
4.1.2 BorderStyle属性 139
4.1.3 Capture属性 140
4.1.4 ColumnWidth属性 140
4.1.5 Controls属性 141
4.1.6 Cursor 属性 146
4.1.7 CustomTabOffsets属性 146
4.1.8 DataBindings属性 147
4.1.9 DataSource属性 147
4.1.10 DrawMode属性 149
4.1.11 FormatInfo 属性 150
4.1.12 FormatString属性 150
4.1.13 FormattingEnabled 属性 160
4.1.14 HorizontalExtent 属性 160
4.1.15 HorizontalScrollbar属性 160
4.1.16 InvokeRequired 属性 161
4.1.17 ItemHeight属性 162
4.1.18 Items属性 162
4.1.19 ModifierKeys属性 162
4.1.20 MouseButtons属性 163
4.1.21 MousePosition属性 163
4.1.22 MultiColumn属性 164
4.1.23 PreferredHeight属性 164
4.1.24 PreferredSize属性 164
4.1.25 Selected类属性 164
4.1.26 SelectedValue属性 166
4.1.27 SelectionMode属性 166
4.1.28 TopLevelControl 属性 167
4.1.29 UseCustomTabOffsets属性 167
4.1.30 ValueMember属性 167
4.2 ComboBox控件 167
4.2.1 AutoCompleteMode属性 167
4.2.2 AutoCompleteSource属性 168
4.2.3 AutoCompleteCustomSource属性 168
4.2.4 AutoComplete类属性应用举例 168
4.2.5 DropDownStyle属性 170
4.2.6 DropDownWidth属性 172
4.2.7 DroppedDown属性 172
4.2.8 FlatStyle属性 172
4.2.9 ItemHeight属性 172
4.2.10 MaxDropDownItems属性 174
4.2.11 SelectionLength属性 174
4.2.12 SelectionStart属性 174
4.3 ListView控件 175
4.3.1 AllowColumnReorder属性 175
4.3.2 AutoArrange属性 177
4.3.3 BackgroundImageTiled属性 178
4.3.4 CheckBoxes属性 178
4.3.5 CheckedItems属性 179
4.3.6 FocusedItem属性 179
4.3.7 FullRowSelect属性 179
4.3.8 GridLines属性 179
4.3.9 HeaderStyle属性 180
4.3.10 HideSelection属性 182
4.3.11 HotTracking属性 182
4.3.12 HoverSelection属性 184
4.3.13 InsertionMark属性 184
4.3.14 LabelEdit属性 187
4.3.15 LabelWrap属性 187
4.3.16 LargeImageList属性 189
4.3.17 View属性 189
4.3.18 Scrollable属性 191
4.3.19 ShowGroups属性 191
4.3.20 ShowItemToolTips属性 195
4.3.21 SmallImageList 属性 196
4.3.22 StateImageList属性 196
4.3.23 TileSize属性 198
4.3.24 TopItem属性 199
4.3.25 Virtual类属性 201
4.4 TreeView控件 201
4.4.1 Databinding属性 201
4.4.2 FullRowSelect属性 204
4.4.3 Image类属性 206
4.4.4 Image类属性应用举例 206
4.4.5 Indent属性 208
4.4.6 LabelEdit属性 208
4.4.7 Nodes属性 210
4.4.8 TreeViewNodeSorter属性 210
4.4.9 其他常用属性 212
第5章 容器类控件 213
5.1 FlowLayoutPanel控件 213
5.2 GroupBox控件 214
5.2.1 常用属性 214
5.2.2 应用举例 215
5.3 Panel控件 216
5.3.1 AutoSizeMode属性 216
5.3.2 应用举例 216
5.4 SpliterContainer控件 217
5.4.1 常用属性 217
5.4.2 应用举例 218
5.5 TabControl控件 218
5.5.1 Appearance属性 218
5.5.2 DrawMode属性 219
5.5.3 HotTrack属性 220
5.5.4 ImageList属性 220
5.5.5 SizeMode属性 221
5.5.6 其他常用属性 221
5.6 StatusBar控件 222
5.6.1 Panels属性 222
5.6.2 ShowPanels属性 223
第6章 菜单和工具栏类控件 224
6.1 ContextMenuStrip控件 224
6.1.1 AllowMerge属性 224
6.1.2 DefaultDropDownDirection属性 227
6.1.3 DropShadowEnabled属性 228
6.1.4 ImageScalingSize属性 228
6.1.5 LayoutStyle属性 230
6.1.6 Renderer属性 230
6.1.7 RenderMode属性 230
6.1.8 ShowCheckMargin属性 231
6.1.9 ShowImageMargin属性 231
6.1.10 ShowItemToolTips属性 231
6.1.11 TextDirection属性 231
6.1.12 其他属性 232
6.2 MenuStrip控件 233
6.2.1 常用属性 233
6.2.2 应用举例 241
6.3 ToolStrip 控件 244
6.4 ToolStripDropDown控件 244
6.5 ToolStrip类控件应用举例 244
6.6 ToolStripContainer控件 250
第7章 数据控件 252
7.1 DataSet控件 252
7.1.1 CaseSensitive属性 253
7.1.2 DataSetName属性 255
7.1.3 DefaultViewManager属性 255
7.1.4 DataViewManager属性 255
7.1.5 EnforceConstraints属性 257
7.1.6 ForeignKeyConstraint属性 257
7.1.7 ExtendedProperties属性 259
7.1.8 Relations属性 260
7.1.9 RemotingFormat属性 262
7.2 DataGridView控件 262
7.2.1 AdjustedTopLeftHeaderBorderStyle属性 262
7.2.2 行列标题单元格样式属性 266
7.2.3 行列标题单元格样式属性应用举例 266
7.2.4 Allow类属性 267
7.2.5 Allow类属性应用举例 268
7.2.6 AutoGenerateColumns属性 270
7.2.7 AutoSizeColumnsMode属性 272
7.2.8 AutoSizeRowsMode属性 272
7.2.9 BindingContext属性 273
7.2.10 CellBorderStyle属性 280
7.2.11 CheckForIllegalCrossThreadCalls属性 282
7.2.12 ClipboardCopyMode属性 282
7.2.13 ColumnCount属性 284
7.2.14 ColumnHeadersBorderStyle属性 284
7.2.15 ColumnHeadersHeightSizeMode属性 284
7.2.16 ColumnHeadersVisible属性 286
7.2.17 CurrentCell属性 286
7.2.18 CurrentCellAddress属性 288
7.2.19 CurrentRow属性 290
7.2.20 EditMode属性 290
7.2.21 EnableHeadersVisualStyles属性 292
7.2.22 FirstDisplayed类属性 292
7.2.23 GridColor属性 294
7.2.24 IsCurrent类属性 294
7.2.25 NewRowIndex属性 296
7.2.26 RowHeadersBorderStyle属性 296
7.2.27 RowHeadersDefaultCellStyle属性 296
7.2.28 RowHeadersVisible属性 297
7.2.29 RowHeadersWidthSizeMode属性 298
7.2.30 Rows属性 299
7.2.31 Selected类属性 299
7.2.32 Select属性 299
7.2.33 ShowCellErrors属性 302
7.2.34 ShowCellToolTips属性 302
7.2.35 VirtualMode属性 303
7.3 BindingSource控件 305
第8章 .NET环境下组合类控件 307
8.1 Backgroundworker控件 307
8.1.1 属性说明 307
8.1.2 应用举例 307
8.2 DirectoryEntry控件 309
8.2.1 属性说明 309
8.2.2 应用举例 309
8.3 DirectorySearch控件 320
8.4 ErrorProvider控件 332
8.4.1 属性说明 332
8.4.2 应用举例 333
8.5 EventLog控件 334
8.5.1 属性说明 334
8.5.2 应用举例 334
8.6 FileSystemWatch控件 336
8.6.1 属性说明 336
8.6.2 应用举例 337
8.7 HelpProvider控件 338
8.7.1 属性说明 338
8.7.2 应用举例 339
8.8 ImageList控件 341
8.8.1 属性说明 341
8.8.2 应用举例 341
8.9 MessageQueue控件 344
8.9.1 属性说明 344
8.9.2 应用举例(1) 346
8.9.3 应用举例(2) 348
8.10 PerfermanceCounter控件 352
8.10.1 属性说明 352
8.10.2 应用举例 353
8.11 Process控件 355
8.11.1 属性说明(1) 355
8.11.2 应用举例(1) 355
8.11.3 属性说明(2) 357
8.11.4 应用举例(2) 358
8.11.5 属性说明(3) 359
8.11.6 应用举例(3) 361
8.12 SerialPort控件 362
8.12.1 属性说明 363
8.12.2 应用举例 366
8.13 ServiceController控件 369
8.13.1 属性说明 369
8.13.2 应用举例 370
8.14 Timer控件 371
第9章 打印类控件 372
9.1 PageSetupDialog控件 372
9.1.1 Allow类属性 372
9.1.2 Allow类属性应用举例 373
9.1.3 其他常用属性 374
9.1.4 PageSetupDialog控件应用举例 375
9.2 PrintDialog控件 377
9.2.1 属性说明 378
9.2.2 应用举例 378
9.3 PrintDocument控件 380
9.3.1 属性说明 380
9.3.2 应用举例 381
9.4 PrintPreviewDialog控件 383
9.5 综合实例 383
第10章 对话框类控件 388
10.1 ColorDialog控件 388
10.1.1 属性说明 388
10.1.2 应用举例 388
10.2 FolderBrowserDialog控件 389
10.2.1 属性说明 389
10.2.2 应用举例 391
10.3 FontDialog控件 391
10.3.1 属性说明 391
10.3.2 应用举例 392
10.4 OpenFileDialog控件 393
10.4.1 属性说明 393
10.4.2 应用举例 394
10.5 SaveFileDialog控件 396
10.5.1 属性说明 396
10.5.2 应用举例 396
第11章 水晶报表控件 398
11.1 报表页眉 398
11.2 页眉 399
11.3 详细资料 400
11.4 页脚 400
11.5 报表页脚 401
11.6 报表详细应用 401
11.6.1 数据库字段 401
11.6.2 公式字段 410
11.6.3 参数字段 418
11.6.4 组名字段 422
11.6.5 运行总计字段 424
11.6.6 特殊字段 425
11.7 导出水晶报表 425
11.7.1 使用系统自带界面导出报表 426
11.7.2 自编代码导出数据 427
第12章 多媒体播放控件 429
12.1 MediaPlay控件 429
12.1.1 MediaPlay控件的常用属性 429
12.1.2 添加控件到IDE环境 430
12.1.3 MediaPlay控件应用举例1——music 431
12.1.4 MediaPlay控件应用举例2——movie 441
12.2 Multimedia MCI控件 449
12.2.1 Multimedia MCI控件的添加 450
12.2.2 应用举例 450
12.3 MSWebDVD控件 452
第13章 自定义控件 458
13.1 继承修改Windows控件 458
13.2 定义自选图形控件 463
13.2.1 UserControl控件的属性 463
13.2.2 应用举例(1) 466
13.2.3 应用举例(2) 469