Google
Web deitel.com
Deitel® Buzz Online
free e-mail newsletter
Register Now!


HTML Text
Lotus Notes users,
please select Text

Visual Basic .NET for Experienced Programmers

Preface

© 1992-2005. Deitel & Associates, Inc. All Rights Reserved.


Live in fragments no longer. Only connect.

Edward Morgan Forster

We wove a web in childhood, A web of sunny air.

Charlotte Brontë

 

Welcome to Visual Basic .NET and the world of Windows, Internet and World-Wide-Web programming with Visual Studio .NET and the .NET platform! This book is the third in the new Deitel™ Developer Series, which presents leading-edge computing technologies to software developers and IT professionals.

Visual Basic .NET was created from Visual Basic 6.0 by Microsoft expressly for its .NET platform. Visual Basic .NET provides the features that are most important to programmers, such as object-oriented programming, graphics, graphical-user-interface (GUI) components, exception handling, multithreading, multimedia (audio, images, animation and video), file processing, prepackaged data structures, database processing, Internet and World-Wide-Web-based multi-tier application development, networking, Web services and distributed computing. The language is appropriate for implementing Internet- and World-Wide-Web-based applications that integrate seamlessly with Windows-based applications.

The .NET platform offers powerful capabilities for software development and deployment, including language and platform independence. For example, developers writing code in any (or several) of the .NET languages (such as Visual Basic .NET, C# and Visual C++ .NET) can contribute components to the same software product. In addition to providing language independence, .NET extends program portability by enabling .NET applications to reside on, and communicate across, multiple platforms. This facilitates the creation and use of Web services, which are applications that expose functionality to clients over the Internet.

The .NET platform enables Web-based applications to be distributed to consumer-electronic devices, such as wireless phones and personal digital assistants (PDAs), as well as to desktop computers. The capabilities that Microsoft has incorporated into the .NET platform increase programmer productivity and decrease development time.

Who Should Read This Book

Deitel & Associates, Inc. currently has two Visual Basic .NET publications, intended for different audiences. We provide information on www.deitel.com, here and inside this book’s back cover to help you determine which publication is best for you.

Our first Visual Basic .NET book, Visual Basic .NET How to Program, Second Edition, was published as part of our How to Program Series, for college and university students. It provides a comprehensive treatment of Visual Basic .NET and includes learning aids and extensive ancillary support. Visual Basic .NET How to Program, Second Edition assumes that the reader has little or no programming experience. Early chapters focus on fundamental programming principles. The book builds on this to create increasingly complex and sophisticated programs that demonstrate how to use Visual Basic .NET to create graphical user interfaces, networking applications, multithreaded applications, Web-based applications and more. We encourage professors and professionals to consider the The Complete Visual Basic .NET Training Course. This package includes Visual Basic .NET How to Program, Second Edition, as well as the Visual Basic .NET Multimedia Cyber Classroom, Second Edition, an interactive multimedia CD-ROM that provides extensive e-Learning features. The Complete Visual Basic .NET Training Course, Second Edition and Visual Basic .NET Multimedia Cyber Classroom, Second Edition are discussed in detail later in this Preface.

This book, Visual Basic .NET for Experienced Programmers, is part of the new Deitel™ Developer Series, intended for professional software developers—from novices through experienced programmers. This publication is a part of the For Experienced Programmers subseries, designed for the experienced software developer who wants a deep treatment of a new technology with minimal, if any, introductory material. Visual Basic .NET for Experienced Programmers provides a brief introduction to programming principles in general and to Visual Basic .NET fundamentals, then delves deeply into more sophisticated topics, such as Web development and distributed computing. There is considerable overlap between this book and Visual Basic .NET How to Program, Second Edition.

A third publication, ASP .NET with Visual Basic .NET for Experienced Programmers, is forthcoming. This book was originally titled Advanced Visual Basic .NET for Experienced Programmers.

Each of our Visual Basic .NET books presents many complete, working Visual Basic .NET programs and depicts their inputs and outputs in actual screen shots of running programs. This is our signature Live-Code™ approach—we present concepts in the context of complete working programs. Each book’s source code is available free for download at www.deitel.com.

Please examine both the Deitel™ Developer Series professional books and the How to Program Series textbooks to determine which best suits your needs. Visual Basic .NET for Experienced Programmers is derived from Visual Basic .NET How to Program, Second Edition. Depending on your particular needs, you should purchase either this book or Visual Basic .NET How to Program, Second Edition.

This book was written after Visual Basic .NET How to Program, Second Edition. We added to this Deitel™ Developer Series book a chapter on the new Microsoft Mobile Internet Toolkit for our readers who wish to develop wireless Internet applications for wireless phones, pagers and PDAs. This material will be added to the third edition of Visual Basic .NET How to Program.

For a detailed listing of Deitel™ products and services, please see the "advertorial" pages at the back of this book and visit www.deitel.com. Readers may also want to register for our new Deitel™ Buzz Online e-mail newsletter (www.deitel.com/newsletter/subscribe.html), which provides information about our publications, company announcements, links to informative technical articles, programming tips, teaching tips, challenges and anecdotes.

As you proceed, if you would like to communicate with us, please send an e-mail to deitel@deitel.comwe always respond promptly. Please check our Web sites, www.deitel.com, www.prenhall.com/deitel and www.InformIT.com/deitel for frequent updates, errata, FAQs, etc. When sending an e-mail, please include the book’s title and edition number. We sincerely hope that you enjoy learning Visual Basic .NET with our publications.

Features of Visual Basic .NET for Experienced Programmers

This edition contains many features, including:

Syntax Highlighting. This book uses five-way syntax highlighting to emphasize Visual Basic .NET programming elements in a manner similar to that of Visual Studio .NET. Our syntax-highlighting conventions are as follows:

comments
keywords
literal values

errors and ASP .NET directives
text, class, method and variable names

"Code Washing." This is our term for the process we use to format the book’s programs so that they have a carefully commented, open layout. The code is grouped into small, well-documented pieces. This greatly improves code readability—an especially important goal for us, considering that this book contains approximately 20,300 lines of code in 192 complete Live-Code™ programs.

Web Forms, Web Controls and ASP .NET. The .NET platform enables developers to create robust, scalable Web-based applications. Microsoft’s .NET server-side technology, Active Server Pages (ASP) .NET, allows programmers to build Web documents that respond to client requests. To enable interactive Web pages, server-side programs process information users input into HTML forms. ASP .NET is a significant departure from ASP 3.0, allowing developers to program Web-based applications using .NET’s powerful object-oriented languages such as Visual Basic .NET and C#, rather than using only scripting languages. ASP .NET also provides enhanced visual programming capabilities, similar to those used in building Windows forms for desktop programs. Programmers can create Web pages visually, by dragging and dropping Web controls onto Web forms. Chapter  , , introduces these powerful technologies.

Web Services and ASP .NET. Microsoft’s .NET strategy embraces the Internet and Web as integral to software development and deployment. Web services technology enables information sharing, e-commerce and other interactions using standard Internet protocols and technologies, such as Hypertext Transfer Protocol (HTTP), Extensible Markup Language (XML) and Simple Object Access Protocol (SOAP). Web services enable programmers to package application functionality in a manner that turns the Web into a library of reusable software components. In Chapter  , , we present a Web service that allows users to manipulate "huge integers"—integers too large to be contained in Visual Basic .NET’s built-in data types. In this example, a user enters two huge integers and presses buttons to invoke Web services that add, subtract and compare the two integers.

Object-Oriented Programming. Object-oriented programming is the most widely employed technique for developing robust, reusable software. This text offers a rich treatment of Visual Basic .NET’s object-oriented programming features. Chapter  , , introduces how to create classes and objects. These concepts are extended in Chapter  , , which discusses how programmers can create powerful new classes quickly by "absorbing" the capabilities of existing classes. Chapter  , , familiarizes the reader with the crucial concepts of polymorphism, abstract classes, concrete classes and interfaces, which facilitate powerful manipulations among objects belonging to an inheritance hierarchy.

XML. Use of Extensible Markup Language (XML) is exploding in the software-development industry, in the e-business and e-commerce communities, and is pervasive throughout the .NET platform. Because XML is a platform-independent technology for describing data and for creating markup languages, XML’s data portability integrates well with Visual Basic .NET-based portable applications and services. Chapter  , , introduces XML. In this chapter, we introduce basic XML markup and discuss the technologies such as DTDs and Schema, which are used to validate XML documents’ contents. We also explain how to manipulate XML documents programmatically using the Document Object Model (DOM™) and how to transform XML documents into other types of documents via Extensible Stylesheet Language Transformations (XSLT).

Multithreading. Computers enable programmers to perform many tasks in parallel (i.e., concurrently), such as printing documents, downloading files from a network and surfing the Web. Multithreading is the technology through which programmers can develop applications that perform concurrent tasks. Historically, a computer has contained a single, expensive processor, which its operating system would share among all applications. Today, processors are becoming increasingly inexpensive, making it possible to build affordable computers with many processors working in parallel—such computers are called multiprocessors. Multithreading is effective on both single-processor and multiprocessor systems. .NET’s multithreading capabilities make the platform and its related technologies better prepared to handle today’s sophisticated multimedia-intensive, database-intensive, network-based, multiprocessor-based, distributed applications. Chapter  , , introduces this powerful capability.

ADO .NET. Databases store vast amounts of information that individuals and organizations must access to conduct business. As an evolution of Microsoft's ActiveX Data Objects (ADO) technology, ADO .NET represents a new approach for building applications that interact with databases. ADO .NET uses XML and an enhanced object model to provide developers with the tools they need to access and manipulate databases for large-scale, extensible, mission-critical multi-tier applications. Chapter  , , introduces the capabilities of ADO .NET and the Structured Query Language (SQL) to manipulate databases.

Wireless Development. By some estimates, about a billion people worldwide are using mobile devices, such as wireless phones and PDAs, and this number is increasing rapidly. To simplify the creation of Web content for mobile devices, Microsoft provides the Mobile Internet Toolkit (MIT). The MIT, which is built on ASP .NET, allows wireless content to be created using Visual Studio .NET’s object-oriented languages. One program can be created that will be compatible with a variety of devices and able to display different content based on the type of device (e.g., a wireless phone versus a PDA). Chapter  , , introduces wireless Web application development.

Visual Studio .NET Debugger. Debuggers help programmers find and correct logic errors in program code. In Appendix  , , we explain how to use key debugger features, such as setting "breakpoints" and "watches," stepping into and out of methods, and examining the method call stack.

Unicode®. As computer systems evolved worldwide, computer vendors developed numeric representations of character sets and special symbols for the local languages spoken in different countries. In some cases, different representations were developed for the same languages. Such disparate character sets hindered communication among computer systems. Visual Basic .NET supports the Unicode Standard (maintained by a non-profit organization called the Unicode Consortium), which maintains a single character set that specifies unique numeric values for characters and special symbols in most of the world’s languages. Appendix  , , discusses the standard, overviews the Unicode Consortium Web site, www.unicode.org and presents a Visual Basic .NET application that displays "Welcome to Unicode!" in several languages.

Pedagogic Approach

Visual Basic .NET for Experienced Programmers contains a rich collection of examples that have been tested on Windows 2000 and Windows XP. The book concentrates on the principles of good software engineering and stresses program clarity. We are educators who teach edge-of-the-practice topics in industry classrooms worldwide. We avoid arcane terminology and syntax specifications in favor of teaching by example. The text emphasizes good pedagogy.

We use fonts to distinguish between Visual Studio .NET’s Integrated Development Environment (IDE) features (such as menu names and menu items) and other elements that appear in the IDE. Our convention is to emphasize IDE features in a sans-serif bold Helvetica font (e.g., Project menu) and to emphasize program text in a serif bold Courier font (e.g., Dim x As Integer).

Live-Code™ Teaching Approach

Visual Basic .NET for Experienced Programmers is loaded with numerous Live-Code™ examples. This style exemplifies the way we teach and write about programming and is the focus of our multimedia Cyber Classrooms and Web-based training courses as well. Each new concept is presented in the context of a complete, working example that is followed by one or more windows showing the program’s input/output dialog. We call this method of teaching and writing the Live-Code™ Approach. We use programming languages to teach programming languages. Reading the examples in the text is much like entering and running them on a computer. Readers have the option of downloading all of the book’s code examples from www.deitel.com, under the Downloads/Resources link. Other links provide errata and answers to frequently asked questions.

World Wide Web Access

All of the source code for the examples in Visual Basic .NET for Experienced Programmers (and our other publications) is available on the Internet as downloads from the following Web sites:

www.deitel.com
www.prenhall.com/deitel

Registration is quick and easy and these downloads are free. We suggest downloading all the examples, then running each program as you read the corresponding portion of the book. Make changes to the examples and immediately see the effects of those changes— this is a great way to improve your programming skills. Any instructions for running the examples assumes that the user is running Windows 2000 or Windows XP and is using Microsoft’s Internet Information Services (IIS). Additional setup instructions for IIS and other software can be found at our Web sites along with the examples. [Note: This is copyrighted material. Feel free to use it as you study, but you may not republish any portion of it in any form without explicit permission from Prentice Hall and the authors.]

Visual Studio .NET belongs to a family of products that are available for purchase and download from Microsoft. Visual Studio .NET, which includes Visual Basic .NET, comes in four different editions—Academic, Professional, Enterprise Developer and Enterprise Architect. Visual Studio .NET Academic contains Visual Studio .NET Professional’s features in addition to features designed for students and professors (e.g., an Assignment Manager that documents assignment submission, Application Publishing Tools that aid in the notification of assignments, code samples and more).

Microsoft also offers stand-alone products (Visual C# .NET Standard, Visual C++ .NET Standard and Visual Basic .NET Standard) for various .NET-languages. Each product provides an integrated development environment (similar to Visual Studio .NET) and a compiler. Visit msdn.microsoft.com/vstudio/howtobuy for descriptions and ordering information.

Objectives

Each chapter begins with objectives that inform readers of what to expect and gives them an opportunity, after reading the chapter, to determine whether they have met the intended goals.

Quotations

The chapter objectives are followed by sets of quotations. Some are humorous, some are philosophical and some offer interesting insights. We have found that readers enjoy relating the quotations to the chapter material. Many of the quotations are worth a "second look" after you read each chapter.

Outline

The chapter outline enables readers to approach the material in top-down fashion. Along with the chapter objectives, the outline helps users anticipate topics and set a comfortable and effective learning pace.

Approximately 20,300 Lines of Code in 192 Example Programs (with Program Outputs)

We present Visual Basic .NET features in the context of complete, working Visual Basic .NET programs. The programs range in size from just a few lines of code to substantial examples containing hundreds of lines of code. All examples are available as downloads from our Web site, www.deitel.com.

559 Illustrations/Figures

An abundance of charts, line drawings and program outputs is included.

319 Programming Tips

We have included programming tips to help readers focus on important aspects of program development. We highlight hundreds of these tips in the form of Good Programming Practices, Common Programming Errors, Testing and Debugging Tips, Performance Tips, Portability Tips, Software Engineering Observations and Look-and-Feel Observations. These tips and practices represent the best the authors have gleaned from many decades of programming and teaching experience. One of our customers—a mathematics major—told us that she feels this approach is like the highlighting of axioms, theorems and corollaries in mathematics books; it provides a foundation on which to build good software.

32 Good Programming Practices

Good Programming Practices are tips that call attention to techniques that will help developers produce programs that are clearer, more understandable and more maintainable.

 

100 Common Programming Errors

Developers learning a language tend to make certain kinds of errors frequently. Pointing out these Common Programming Errors reduces the likelihood that readers will make the same mistakes.

34 Testing and Debugging Tips

When we first designed this "tip type," we thought the tips would contain suggestions strictly for exposing bugs and removing them from programs. In fact, many of the tips describe aspects of Visual Basic .NET that prevent "bugs" from getting into programs in the first place, thus simplifying the testing and debugging processes.

 

39 Performance Tips

Developers like to "turbo charge" their programs. We have included 39 Performance Tips that highlight opportunities for improving program performance—making programs run faster or minimizing the amount of memory that they occupy.

 

11 Portability Tips

We include Portability Tips to help developers write portable code and to provide insights on how Visual Basic .NET achieves its high degree of portability.

 

86 Software Engineering Observations

The object-oriented programming paradigm necessitates a complete rethinking of the way we build software systems. Visual Basic .NET is an effective language for achieving good software engineering. The Software Engineering Observations highlight architectural and design issues that affect the construction of software systems, especially large-scale systems.

 

17 Look-and-Feel Observations

We provide Look-and-Feel Observations to highlight graphical-user-interface conventions. These observations help developers design attractive, user-friendly graphical user interfaces that conform to industry norms.

Summary

Each chapter ends with a summary that helps readers review and reinforce key concepts.

Approximately 3,683 Index Entries (with approximately 4,490 Page References)

We have included an extensive Index. This resource enables readers to search for any term or concept by keyword. The Index is especially useful to practicing programmers who use the book as a reference.

"Double Indexing" of All Visual Basic .NET Live-Code™ Examples

Visual Basic .NET for Experienced Programmers has 192 Live-Code™ examples, which we have "double indexed." For every Visual Basic .NET source-code program in the book, we took the file name with the .vb extension, such as ShowColors.vb, and indexed it both alphabetically (in this case, under "S") and as a subindex item under "Examples." This makes it easier to find examples using particular features.

Visual Basic .NET Multimedia Cyber Classroom, Second Edition and The Complete Visual Basic .NET Training Course, Second Edition

We have prepared an interactive, CD-ROM-based, software version of Visual Basic .NET How to Program, Second Edition, called the Visual Basic .NET Multimedia Cyber Classroom, Second Edition. This resource, ideal for corporate training and college courses, is loaded with interactive e-learning features. The Cyber Classroom is packaged with the Visual Basic .NET How to Program, Second Edition textbook at a discount in The Complete Visual Basic .NET Training Course, Second Edition. If you already have that book and would like to purchase the Visual Basic .NET Multimedia Cyber Classroom, Second Edition separately, please visit www.InformIT.com/cyberclassrooms. The ISBN number for the Visual Basic .NET Multimedia Cyber Classroom, Second Edition is 0-13-065193-1. Many Deitel™ Cyber Classrooms are available in CD-ROM and Web-based training formats.

The CD-ROM provides an introduction in which the authors overview the Cyber Classroom’s features. The textbook’s 249 Live-Code™ example Visual Basic .NET programs truly "come alive" in the Cyber Classroom. If you are viewing a program and want to execute it, you simply click the lightning-bolt icon, and the program will run. You immediately will see—and hear, when working with audio-based multimedia programs—the program’s output. Click the audio icon, and one of the authors will discuss the program and "walk you through" the code.

The Cyber Classroom also provides navigational aids, including extensive hyperlinking. The Cyber Classroom is browser based, so it remembers sections that you have visited recently and allows you to move forward or backward among those sections. The thousands of index entries are hyperlinked to their text occurrences. Furthermore, when you key in a term using the "find" feature, the Cyber Classroom will locate occurrences of that term throughout the text. The Table of Contents entries are "hot," so clicking a chapter name takes you immediately to that chapter.

Readers like the fact that solutions to approximately half the exercises in Visual Basic .NET How to Program, Second Edition are included with the Cyber Classroom. Studying and running these extra programs is a great way for readers to enhance their learning experience.

Professionals and student users of our Cyber Classrooms tell us that they like the interactivity and that the Cyber Classroom is an effective reference due to its extensive hyperlinking and other navigational features. We received an e-mail from a reader who said he lives "in the boonies" and cannot attend a live course at a university, so the Cyber Classroom provided an ideal solution to his educational needs.

Professors tell us that their students enjoy using the Cyber Classroom and spend more time on the courses and master more of the material than in textbook-only courses. For a complete list of the available and forthcoming Cyber Classrooms and Complete Training Courses, see the Deitel™ Series page at the beginning of this book, the product listing and ordering information at the end of this book or visit www.deitel.com, www.prenhall.com/deitel or www.InformIT.com/deitel.

Deitel e-Learning Initiatives

e-Books and Support for Wireless Devices

Wireless devices will play an enormous role in the future of the Internet. Given recent bandwidth enhancements and the emergence of 2.5 and 3G wireless technologies, it is projected that, within two years, more people will access the Internet through wireless devices than through desktop computers. Deitel & Associates, Inc., is committed to wireless accessibility and has recently published Wireless Internet & Mobile Business How to Program. To fulfill the needs of a wide range of customers, we are developing our content in traditional print formats and in new electronic formats, such as e-books, so that readers can access content virtually anytime, anywhere. Visit www.deitel.com for periodic updates on all Deitel technology initiatives.

e-Matter

Deitel & Associates, Inc., is partnering with Prentice Hall’s parent company, Pearson PLC, and its information technology Web site, InformIT.com, to launch the Deitel e-Matter series at www.InformIT.com/deitel in Fall 2002. The Deitel e-Matter series will provide professionals with an additional source of information on specific programming topics at modest prices. e-Matter consists of stand-alone sections taken from published texts, forthcoming texts or pieces written during the Deitel research-and-development process. Developing e-Matter based on pre-publication manuscripts allows us to offer significant amounts of the material well before our books are published.

Course Management Systems: WebCT, Blackboard, CourseCompass and Premium CourseCompass

We are working with Prentice Hall to integrate our How to Program Series courseware into four series of Course Management Systems-based products: WebCT, Blackboard™, CourseCompass and Premium CourseCompass. These enable instructors to create, manage and use sophisticated Web-based educational programs. Course Management Systems feature course customization (such as posting contact information, policies, syllabi, announcements, assignments, grades, performance evaluations and progress tracking), class and student management tools, a grade book, reporting tools, communication tools (such as chat rooms), a whiteboard, document sharing, bulletin boards and more. Instructors can use these products to communicate with their students, create online quizzes and exams from questions directly linked to the text and efficiently grade and track test results. For more information about these upcoming products, visit www.prenhall.com/cms. For demonstrations of WebCT, Blackboard and CourseCompass course materials, visit cms.prenhall.com/webct, cms.prenhall.com/blackboard and cms.prenhall.com/coursecompass, respectively.

Deitel and InformIT Newsletters

Deitel Column in the InformIT Newsletters

Deitel & Associates, Inc., contributes articles to the free InformIT weekly e-mail newsletter, subscribed to by more than 750,000 IT professionals worldwide. For registration information, visit www.InformIT.com and click the MyInformIT tab.

Deitel™ Buzz Online Newsletter

Our own free newsletter, the Deitel™ Buzz Online, includes commentary on industry trends and developments, links to articles and resources from our published books and upcoming publications, product-release schedules, challenges, anecdotes and more. For registration information, visit www.deitel.com/newsletter/subscribe.html.

The Deitel™ Developer Series

Deitel & Associates, Inc., is making a major commitment to .NET programming through our Deitel™ Developer Series. C# A Programmer’s Introduction, C# for Experienced Programmers, Visual Basic .NET for Experienced Programmers and Visual C++ .NET for Experienced Programmers are the first .NET books in this new series. These will be followed by several advanced books, beginning with ASP .NET with Visual Basic .NET for Experienced Programmers and ASP .NET with C# for Experienced Programmers.

The Deitel™ Developer Series is divided into three subseries. The A Technical Introduction subseries provides IT managers and developers with detailed overviews of emerging technologies. The A Programmer’s Introduction subseries is designed to teach the fundamentals of new languages and software technologies to developers from the ground up. These books discuss programming fundamentals, followed by brief introductions to more sophisticated topics. Finally, the For Experienced Programmers subseries is designed for seasoned developers seeking to learn new programming languages and technologies without the encumbrance of introductory material. The books in this subseries move quickly to in-depth coverage of the intermediate features of the programming languages and software technologies being covered.

ASP .NET with Visual Basic .NET for Experienced Programmers

Our forthcoming publication ASP .NET with Visual Basic .NET for Experienced Programmers (available in 2003) is geared toward experienced .NET developers. This new book will cover enterprise-level Web-programming topics, including: Creating multi-tier, database intensive ASP .NET applications using ADO .NET and XML; constructing custom Web controls and developing Web services. This book also will include configuration and security topics. Updates on the status of this publication are posted at www.deitel.com. Before reading this book you should be familiar with Visual Basic .NET at the level of either Visual Basic .NET How to Program, Second Edition or Visual Basic .NET for Experienced Programmers.

Acknowledgments

One of the great pleasures of writing a book is acknowledging the efforts of many people whose names may not appear on the cover, but whose hard work, cooperation, friendship and understanding were crucial to the production of the book. Because this publication has been derived from Visual Basic .NET How to Program, Second Edition, we would like to acknowledge those who have helped us with both publications.

Many other people at Deitel & Associates, Inc., devoted long hours to this project. Below is a list of our full-time employees who contributed to this publication:

Matthew R. Kowalewski

Jonathan Gadzik

Kyle Lomelí

Lauren Trees

Rashmi Jayaprakash

Laura Treibick

Betsy DuWaldt

Barbara Deitel

We would also like to thank the participants in the Deitel & Associates, Inc., College Internship Program who contributed to this publication.

Andrew Jones (Harvard)

Jeffrey Hamm (Northeastern)

Su Kim (Carnegie Mellon)

Jeng Lee (Carnegie Mellon)

Thiago Lucas da Silva (Northeastern)

Wilson Wu (Carnegie Mellon)

Brian Foster (Northeastern)

We are fortunate to have been able to work with the talented and dedicated team of publishing professionals at Prentice Hall. We especially appreciate the extraordinary efforts of our editors, Petra Recter and Karen McLean of Prentice Hall and PH/PTR, respectively and Michael Ruel, who managed the extraordinary review processes for our Deitel™ Developer Series Visual Basic .NET publication. We would also like to thank Mark L. Taub, Editor-in-Chief for computer publications at PH/PTR, for conceptualizing the Deitel™ Developer Series. He provided the necessary environment and resources to help us generate the many books in this series. A special note of appreciation goes to Marcia Horton, Editor-in-Chief of Engineering and Computer Science at Prentice Hall. Marcia has been our mentor and our friend for 18 years at Prentice Hall. She is responsible for all aspects of Deitel publications at all Pearson divisions including Prentice Hall, PH/ PTR and Pearson International.

Laura Treibick, the Director of Multimedia at Deitel & Associates, Inc., designed the cover. Tamara Newnam (smart_art@earthlink.net) carried the cover through to completion, and produced the art work for our programming-tip icons.

We wish to acknowledge the efforts of our first- and second-round reviewers. Adhering to a tight time schedule, these reviewers scrutinized the text and the programs, providing countless suggestions for improving the accuracy and completeness of the presentation. We sincerely appreciate the time these people took from their busy professional schedules to help us ensure the quality, accuracy and timeliness of this book.

Merged reviewer list from Visual Basic .NET How to Program, Second Edition and Visual Basic .NET for Experienced Programmers:

Lars Bergstrom (Microsoft)

Christopher Brumme (Microsoft)

Alan Carter (Microsoft)

Greg Lowney (Microsoft)

Cameron McColl (Microsoft)

Tania Means (Microsoft)

Dale Michalk (Microsoft)

Shanku Niyogi (Microsoft)

Eric Olson (Microsoft)

Paul Vick (Microsoft)

Jeff Welton (Microsoft)

Joan Aliprand (Unicode Consortium)

Douglas Bass (University of St. Thomas)

Paul Bohman (Technology Coordinator, WebAIM)

Harlan Brewer (Utah State University)

Carl Burnham (Southpoint)

Clinton Chadwick (Valtech)

Mario Chavez-Rivas (Trane Corp.)

Ram Choppa (Baker Hughes)

Ken Cox (Sympatico)

Christopher Crane (University of New Foundland)

Anthony Fadale (State of Kansas, Accessibility Committee)

Corrine Gregory (Hart Gregory Group)

James Huddleston (IBM)

J. Mel Harris (OnLineLiveTraining.com)

Terry Hull (CEO, Enterprise Component Technologies, Inc.)

Balaji Janamanchi (Texas Tech)

Amit Kalani (MobiCast, co-author of Inside ASP.NET and .NET Mobile Web
Developer's Guide
)

Stan Kurkovsky (Columbus State University)

Stephen Longo (LaSalle University)

Rick McGowan (Unicode Consortium)

John Mueller

Michael Paciello (Founder, WebABLE)

Chris Panell (Heald College)

Kevin Parker (Idaho State College)

Bryan Plaster (Valtech)

Andre Pool (Florida Community College-Jacksonville)

T. J. Racoosin (rSolutions)

Teri Radichel (Radical Software)

Nancy Reyes (Heald College)

Chris Ridpath (A-Prompt Project, University of Toronto)

Wally Roth (Taylor University)

Craig Shofding (CAS Training)

Bill Stutzman (Consultant)

Jutta Treviranus (A-Prompt Project, University of Toronto)

Tim Thomas (Xtreme Computing)

Mark Thomas (University of Cincinnati)

Bill Tinker (Aries Software)

Joel Weinstein (Northeastern University)

We would sincerely appreciate your comments, criticisms, corrections and suggestions for improving the book. Please address all correspondence to:

deitel@deitel.com

We will respond promptly.

Well, that’s it for now. Welcome to the exciting world of Visual Basic .NET programming. We hope you enjoy this look at Microsoft’s premier .NET language. Good luck!

Dr. Harvey M. Deitel
Tem R. Nieto
Cheryl H. Yaeger

About the Authors

Dr. Harvey M. Deitel, Chairman and Chief Strategy Officer of Deitel & Associates, Inc., has 41 years experience in the computing field, including extensive industry and academic experience. Dr. Deitel earned B.S. and M.S. degrees from the Massachusetts Institute of Technology and a Ph.D. from Boston University. He worked on the pioneering virtual-memory operating-systems projects at IBM and MIT that developed techniques now widely implemented in systems such as Unix, Linux™ and Windows XP. He has 20 years of college teaching experience, including earning tenure and serving as the Chairman of the Computer Science Department at Boston College before founding Deitel & Associates, Inc., with his son, Paul J. Deitel. He is the author or co-author of several dozen books and multimedia packages and is writing many more. With translations published in Japanese, Russian, Spanish, Traditional Chinese, Simplified Chinese, Korean, French, Polish, Italian, Portuguese and Greek, Dr. Deitel’s texts have earned international recognition. Dr. Deitel has delivered professional seminars to major corporations, and to government organizations and various branches of the military.

Paul J. Deitel, CEO and Chief Technical Officer of Deitel & Associates, Inc., is a graduate of the Massachusetts Institute of Technology’s Sloan School of Management, where he studied Information Technology. Through Deitel & Associates, Inc., he has delivered Java, C, C++ and Internet and World Wide Web programming courses to industry clients including Compaq, Sun Microsystems, White Sands Missile Range, Rogue Wave Software, Boeing, Dell, Stratus, Fidelity, Cambridge Technology Partners, Open Environment Corporation, One Wave, Hyperion Software, Lucent Technologies, Adra Systems, Entergy, CableData Systems, NASA at the Kennedy Space Center, the National Severe Storms Laboratory, IBM and many other organizations. He has lectured on C++ and Java for the Boston Chapter of the Association for Computing Machinery and has taught satellite-based Java courses through a cooperative venture of Deitel & Associates, Inc., Prentice Hall and the Technology Education Network. He and his father, Dr. Harvey M. Deitel, are the world’s best-selling programming language textbook authors.

Tem R. Nieto, Director of Product Development of Deitel & Associates, Inc., is a graduate of the Massachusetts Institute of Technology, where he studied engineering and computing. Through Deitel & Associates, Inc., he has delivered courses for industry clients including Sun Microsystems, Compaq, EMC, Stratus, Fidelity, NASDAQ, Art Technology, Progress Software, Toys "R" Us, Operational Support Facility of the National Oceanographic and Atmospheric Administration, Jet Propulsion Laboratory, Nynex, Motorola, Federal Reserve Bank of Chicago, Banyan, Schlumberger, University of Notre Dame, NASA, Hewlett-Packard, various military installations and many others. He has co-authored numerous books and multimedia packages with the Deitels and has contributed to virtually every Deitel & Associates, Inc., publication.

Cheryl H. Yaeger, Director of Microsoft Software Publications with Deitel & Associates, Inc., graduated from Boston University in three years with a bachelor's degree in Computer Science. Cheryl has co-authored various Deitel & Associates publications, including C# How to Program, C# A Programmer’s Introduction, C# for Experienced Programmers and Visual Basic .NET for Experienced Programmers as well as contributed to other Deitel publications including Perl How to Program, Wireless Internet & Mobile Business How to Program, Internet and World Wide Web How to Program, Second Edition and Visual Basic .NET How to Program, Second Edition.

About Deitel & Associates, Inc.

Deitel & Associates, Inc., is an internationally recognized corporate instructor-led training and content-creation organization specializing in Internet/World Wide Web software technology, e-business/e-commerce software technology, object technology and computer programming languages education. The company provides courses in Internet and World Wide Web programming, wireless Internet programming, Web services (in both Java and .NET languages), object technology, and major programming languages and platforms, such as Visual Basic .NET, C#, Visual C++ .NET, Java, Advanced Java, C, C++, XML, Perl, Python, ASP .NET, ADO .NET and more. Deitel & Associates, Inc., was founded by Dr. Harvey M. Deitel and Paul J. Deitel, the world’s leading programming-language textbook authors. The company’s clients include many of the largest computer companies, government agencies, branches of the military and business organizations. Through its 25-year publishing partnership with Prentice Hall, Deitel & Associates, Inc., publishes leading-edge programming textbooks, professional books, interactive CD-ROM-based multimedia Cyber Classrooms, Complete Training Courses, e-books, e-matter, Web-based training courses and course management systems e-content. Deitel & Associates, Inc., and the authors can be reached via e-mail at:

deitel@deitel.com

To learn more about Deitel & Associates, Inc., its publications and its worldwide corporate on-site curriculum, see the last few pages of this book or visit:

www.deitel.com

Individuals wishing to purchase Deitel books, Cyber Classrooms, Complete Training Courses and Web-based training courses can do so through bookstores, online booksellers and:

www.deitel.com
www.prenhall.com/deitel
www.InformIT.com/deitel
www.InformIT.com/cyberclassrooms

Bulk orders by corporations and academic institutions should be placed directly with Prentice Hall. See the last few pages of this book for worldwide ordering details. To follow the Deitel publishing program, please register at

www.deitel.com/newsletter/subscribe.html.

The World Wide Web Consortium (W3C)

Deitel & Associates, Inc., is a member of the World Wide Web Consortium (W3C). The W3C was founded in 1994 "to develop common protocols for the evolution of the World Wide Web." As a W3C member, Deitel & Associates, Inc., holds a seat on the W3C Advisory Committee (the company’s representative is our CEO and Chief Technology Officer, Paul Deitel). Advisory Committee members help provide "strategic direction" to the W3C through meetings held around the world. Member organizations also help develop standards recommendations for Web technologies (such as XHTML, XML and many others) through participation in W3C. To obtain information on becoming a member of the W3C, visit www.w3.org/ Consortium/Prospectus/Joining.

[ top ]


© 1992-2005. Deitel & Associates, Inc. All Rights Reserved.