ffirs.indd i
19/07/12 2:03 PM
VISUAL BASIC® 2012
PROGRAMMER’S REFERENCE
INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii
PART I
CHAPTER 1
Introduction to the IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
CHAPTER 2
Menus, Toolbars, and Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
CHAPTER 3
Windows Forms Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
CHAPTER 4
WPF Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
CHAPTER 5
Visual Basic Code Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
CHAPTER 6
Debugging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
PART II
ffirs.indd i
IDE
GETTING STARTED
CHAPTER 7
Selecting Windows Forms Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81
CHAPTER 8
Using Windows Forms Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
CHAPTER 9
Windows Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
CHAPTER 10
Selecting WPF Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
CHAPTER 11
Using WPF Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
CHAPTER 12
WPF Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
CHAPTER 13
Program and Module Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
CHAPTER 14
Data Types, Variables, and Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
CHAPTER 15
Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
CHAPTER 16
Subroutines and Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
CHAPTER 17
Program Control Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
CHAPTER 18
Error Handling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
CHAPTER 19
Database Controls and Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
CHAPTER 20
LINQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
CHAPTER 21
Metro-Style Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .417
19/07/12 2:03 PM
PART III
OBJECT-ORIENTED PROGRAMMING
CHAPTER 22
OOP Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
CHAPTER 23
Classes and Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
CHAPTER 24
Namespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
CHAPTER 25
Collection Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
CHAPTER 26
Generics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
PART IV INTERACTING WITH THE ENVIRONMENT
CHAPTER 27
Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
CHAPTER 28
Configuration and Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
CHAPTER 29
Streams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
CHAPTER 30
Filesystem Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585
PART V
APPENDICES
APPENDIX A
Useful Control Properties, Methods, and Events . . . . . . . . . . . . . . . . . . . 611
APPENDIX B
Variable Declarations and Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
APPENDIX C
Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
APPENDIX D
Subroutine and Function Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . 637
APPENDIX E
Control Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
APPENDIX F
Error Handling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
APPENDIX G
Windows Forms Controls and Components . . . . . . . . . . . . . . . . . . . . . . 649
APPENDIX H
WPF Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
APPENDIX I
Visual Basic Power Packs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665
APPENDIX J
Form Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
APPENDIX K
Classes and Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681
APPENDIX L
LINQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
APPENDIX M
Generics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695
APPENDIX N
Graphics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699
APPENDIX O
Useful Exception Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711
APPENDIX P
Date and Time Format Specifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715
ffirs.indd ii
19/07/12 2:03 PM
APPENDIX Q
Other Format Specifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719
APPENDIX R
The Application Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725
APPENDIX S
The My Namespace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729
APPENDIX T
Streams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 747
APPENDIX U
Filesystem Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755
APPENDIX V
Visual Studio Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .771
INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773
ffirs.indd iii
19/07/12 2:03 PM
Related Wrox Books
Beginning ASP.NET 4.5: in C# and VB
*4#/
5IJTJOUSPEVDUPSZCPPLPGGFSTIFMQGVMFYBNQMFTBOETUFQCZTUFQGPSNBUBOEIBTDPEFFYBNQMFT
written in both C# and VisualBasic. With this book you will gradually build a website example that
UBLFTZPVUISPVHIUIFQSPDFTTFTPGCVJMEJOHCBTJD"41/&5XFCQBHFT
BEEJOHGFBUVSFTXJUIQSFCVJMU
server controls, designing consistent pages, displaying data, and more.
Beginning Visual Basic 2012
*4#/
This book not only shows you how to write Windows applications, web applications with ASP.NET,
BOE8JOEPXTNPCJMFBOEFNCFEEFE$&BQQTXJUI7JTVBM#BTJD
CVUZPVMMBMTPHFUBUIPSPVHI
HSPVOEJOHJOUIFCBTJDOVUTBOECPMUTPGXSJUJOHHPPEDPEF:PVMMCFFYQPTFEUPUIFWFSZMBUFTU
7#UPPMTBOEUFDIOJRVFTXJUIDPWFSBHFPGCPUIUIF7JTVBM4UVEJPBOE/&5SFMFBTFT-BVODI
your Visual Basic programming career the right way with this practical, thorough guide.
Beginning Microsoft Visual C# 2012
*4#/
6TJOHUIJTCPPL
ZPVXJMMGJSTUDPWFSUIFGVOEBNFOUBMTTVDIBTWBSJBCMFT
GMPXDPOUSPM
BOEPCKFDU
oriented programming and gradually build your skills for web and Windows programming, Windows
GPSNT
BOEEBUBBDDFTT4UFQCZTUFQEJSFDUJPOTXBMLZPVUISPVHIQSPDFTTFTBOEJOWJUFZPVUPi5SZ
JU0VU
uBUFWFSZTUBHF#ZUIFFOE
ZPVMMCFBCMFUPXSJUFVTFGVMQSPHSBNNJOHDPEFGPMMPXJOHUIF
steps you’ve learned in this thorough, practical book. If you’ve always wanted to master Visual C#
QSPHSBNNJOH
UIJTCPPLJTUIFQFSGFDUPOFTUPQSFTPVSDF
Professional Visual Basic 2012 and .NET 4.5
*4#/
If you’ve already covered the basics and want to dive deep into VB and .NET topics that professional
QSPHSBNNFSTVTFNPTU
UIJTJTZPVSHVJEF:PVMMFYQMPSFUIFOFXGFBUVSFTPG7JTVBM#BTJDBT
XFMMBTBMMUIFFTTFOUJBMGVODUJPOTUIBUZPVOFFE
JODMVEJOH/&5GFBUVSFTTVDIBT-*/2UP42-
-*/2
UP9.-
8$'
BOENPSF
Professional C# 2012 and .NET 4.5
*4#/
"GUFSBRVJDLSFGSFTIFSPO$CBTJDT
UIFBVUIPSESFBNUFBNNPWFTPOUPQSPWJEFZPVXJUIEFUBJMTPG
MBOHVBHFBOEGSBNFXPSLGFBUVSFTJODMVEJOH-*/2
-*/2UP42-
-*/2UP9.-
8$'
81'
8PSLGMPX
BOE(FOFSJDT$PWFSBHFBMTPTQBOT"41/&5QSPHSBNNJOHXJUI$
XPSLJOHJO7JTVBM4UVEJPXJUI
C#, and more.
9781118314074-cover-rb2.indd 2
7/6/12 9:05 AM
Related Wrox Books
Beginning ASP.NET 4.5: in C# and VB
*4#/
5IJTJOUSPEVDUPSZCPPLPGGFSTIFMQGVMFYBNQMFTBOETUFQCZTUFQGPSNBUBOEIBTDPEFFYBNQMFT
written in both C# and VisualBasic. With this book you will gradually build a website example that
UBLFTZPVUISPVHIUIFQSPDFTTFTPGCVJMEJOHCBTJD"41/&5XFCQBHFT
BEEJOHGFBUVSFTXJUIQSFCVJMU
server controls, designing consistent pages, displaying data, and more.
Beginning Visual Basic 2012
*4#/
This book not only shows you how to write Windows applications, web applications with ASP.NET,
BOE8JOEPXTNPCJMFBOEFNCFEEFE$&BQQTXJUI7JTVBM#BTJD
CVUZPVMMBMTPHFUBUIPSPVHI
HSPVOEJOHJOUIFCBTJDOVUTBOECPMUTPGXSJUJOHHPPEDPEF:PVMMCFFYQPTFEUPUIFWFSZMBUFTU
7#UPPMTBOEUFDIOJRVFTXJUIDPWFSBHFPGCPUIUIF7JTVBM4UVEJPBOE/&5SFMFBTFT-BVODI
your Visual Basic programming career the right way with this practical, thorough guide.
Beginning Microsoft Visual C# 2012
*4#/
6TJOHUIJTCPPL
ZPVXJMMGJSTUDPWFSUIFGVOEBNFOUBMTTVDIBTWBSJBCMFT
GMPXDPOUSPM
BOEPCKFDU
oriented programming and gradually build your skills for web and Windows programming, Windows
GPSNT
BOEEBUBBDDFTT4UFQCZTUFQEJSFDUJPOTXBMLZPVUISPVHIQSPDFTTFTBOEJOWJUFZPVUPi5SZ
JU0VU
uBUFWFSZTUBHF#ZUIFFOE
ZPVMMCFBCMFUPXSJUFVTFGVMQSPHSBNNJOHDPEFGPMMPXJOHUIF
steps you’ve learned in this thorough, practical book. If you’ve always wanted to master Visual C#
QSPHSBNNJOH
UIJTCPPLJTUIFQFSGFDUPOFTUPQSFTPVSDF
Professional Visual Basic 2012 and .NET 4.5
*4#/
If you’ve already covered the basics and want to dive deep into VB and .NET topics that professional
QSPHSBNNFSTVTFNPTU
UIJTJTZPVSHVJEF:PVMMFYQMPSFUIFOFXGFBUVSFTPG7JTVBM#BTJDBT
XFMMBTBMMUIFFTTFOUJBMGVODUJPOTUIBUZPVOFFE
JODMVEJOH/&5GFBUVSFTTVDIBT-*/2UP42-
-*/2
UP9.-
8$'
BOENPSF
Professional C# 2012 and .NET 4.5
*4#/
"GUFSBRVJDLSFGSFTIFSPO$CBTJDT
UIFBVUIPSESFBNUFBNNPWFTPOUPQSPWJEFZPVXJUIEFUBJMTPG
MBOHVBHFBOEGSBNFXPSLGFBUVSFTJODMVEJOH-*/2
-*/2UP42-
-*/2UP9.-
8$'
81'
8PSLGMPX
BOE(FOFSJDT$PWFSBHFBMTPTQBOT"41/&5QSPHSBNNJOHXJUI$
XPSLJOHJO7JTVBM4UVEJPXJUI
C#, and more.
9781118314074-cover-rb2.indd 2
7/6/12 9:05 AM