1. Trang chủ
  2. » Công Nghệ Thông Tin

mastering visual basic .net (2002)

1,1K 641 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 1.100
Dung lượng 14,66 MB

Nội dung

Using Your Sybex Electronic Book T o realize the full potential of this Sybex electronic book, you must have Adobe Acrobat Reader with Search installed on your computer. To find out if you have the correct version of Acrobat Reader, click on the Edit menu—Search should be an option within this menu file. If Search is not an option in the Edit menu, please exit this application and install Adobe Acrobat Reader with Search from this CD (double- click on rp500env.exe in the Adobe folder). Navigation To search, click the Search Query button on the toolbar or choose Edit >Search > Query to open the Search window. In the Adobe Acrobat Search dialog’s text field, type the text you want to find and click Search. Use the Search Next button (Control+U) and Search Previous button (Control+Y) to go to other matches in the book. The Search command also has powerful tools for limiting and expanding the definition of the term you are searching for. Refer to Acrobat's online Help (Help > Plug-In Help > Using Acrobat Search) for more information. www.sybex.com Click here to begin using your Sybex Electronic Book! Search Navigate throught the book by clicking on the headings that appear in the left panel; the corresponding page from the book displays in the right panel. Mastering ™ Visual Basic ® .NET Evangelos Petroutsos San Francisco London 2877c00.qxd 11/11/01 4:13 PM Page iii Copyright ©2002 SYBEX, Inc., Alameda, CA www.sybex.com Associate Publisher: Richard Mills Acquisitions Editor: Denise Santoro Lincoln Developmental Editor: Tom Cirtin Editors: Pete Gaughan, Linda Recktenwald Production Editor: Kylie Johnston Technical Editors: Jesse Patterson, Greg Guntle Book Designer: Maureen Forys, Happenstance Type-O-Rama Graphic Illustrator: Tony Jonick Electronic Publishing Specialist: Maureen Forys, Happenstance Type-O-Rama Proofreaders: Nanette Duffy, Amey Garber, Dave Nash, Laurie O’Connell, Yariv Rabinovitch, Nancy Riddiough Indexer: Ted Laux CD Coordinator: Christine Detlefs CD Technician: Keith McNeil Cover Designer: Design Site Cover Illustrator/Photographer: Sergie Loobkoff Copyright © 2002 SYBEX Inc., 1151 Marina Village Parkway, Alameda, CA 94501. World rights reserved. The author created reusable code in this publication expressly for reuse by readers. Sybex grants readers limited permission to reuse the code found in this publication or its accompa- nying CD-ROM so long as the author is attributed in any application containing the reusable code and the code itself is never distributed, posted online by electronic transmission, sold, or commercially exploited as a stand-alone product. Aside from this specific exception concerning reusable code, no part of this publication may be stored in a retrieval system, transmitted, or reproduced in any way, including but not limited to photo- copy, photograph, magnetic, or other record, without the prior agreement and written permission of the publisher. Library of Congress Card Number: 2001094602 ISBN: 0-7821-2877-7 SYBEX and the SYBEX logo are either registered trademarks or trademarks of SYBEX Inc. in the United States and/or other countries. Mastering is a trademark of SYBEX Inc. Screen reproductions produced with FullShot 99. FullShot 99 © 1991–1999 Inbit Incorporated. All rights reserved. FullShot is a trademark of Inbit Incorporated. The CD interface was created using Macromedia Director, COPYRIGHT 1994, 1997–2001 Macromedia Inc. For more information on Macromedia and Macromedia Director, visit www.macromedia.com. Internet screen shot(s) using Microsoft Internet Explorer reprinted by permission from Microsoft Corporation. TRADEMARKS: SYBEX has attempted throughout this book to distinguish proprietary trademarks from descriptive terms by following the capitalization style used by the manufacturer. The author and publisher have made their best efforts to prepare this book, and the content is based upon final release software whenever possible. Portions of the manuscript may be based upon pre-release versions supplied by software manufacturer(s). The author and the publisher make no representation or warranties of any kind with regard to the completeness or accuracy of the contents herein and accept no liability of any kind including but not limited to performance, merchantability, fitness for any particular purpose, or any losses or damages of any kind caused or alleged to be caused directly or indirectly from this book. Manufactured in the United States of America 10 9 8 7 6 5 4 3 2 1 2877c00.qxd 11/12/01 2:55 PM Page iv Copyright ©2002 SYBEX, Inc., Alameda, CA www.sybex.com The media and/or any online materials accompanying this book that are available now or in the future contain programs and/or text files (the “Software”) to be used in connection with the book. SYBEX hereby grants to you a license to use the Software, subject to the terms that follow. Your purchase, acceptance, or use of the Software will constitute your acceptance of such terms. The Software compilation is the property of SYBEX unless otherwise indicated and is protected by copyright to SYBEX or other copyright owner(s) as indicated in the media files (the “Owner(s)”). You are hereby granted a single-user license to use the Software for your per- sonal, noncommercial use only. You may not reproduce, sell, distribute, publish, circulate, or commercially exploit the Software, or any portion thereof, without the written consent of SYBEX and the specific copy- right owner(s) of any component software included on this media. In the event that the Software or components include specific license requirements or end-user agreements, statements of condition, dis- claimers, limitations or warranties (“End-User License”), those End- User Licenses supersede the terms and conditions herein as to that particular Software component. Your purchase, acceptance, or use of the Software will constitute your acceptance of such End-User Licenses. By purchase, use or acceptance of the Software you further agree to comply with all export laws and regulations of the United States as such laws and regulations may exist from time to time. REUSABLE CODE IN THIS BOOK The author created reusable code in this publication expressly for reuse for readers. Sybex grants readers permission to reuse for any purpose the code found in this publication or its accompanying CD-ROM so long as the author is attributed in any application containing the reusable code, and the code itself is never sold or commercially exploited as a stand-alone product. SOFTWARE SUPPORT Components of the supplemental Software and any offers associated with them may be supported by the specific Owner(s) of that material, but they are not supported by SYBEX. Information regarding any available support may be obtained from the Owner(s) using the information provided in the appropriate read.me files or listed else- where on the media. Should the manufacturer(s) or other Owner(s) cease to offer support or decline to honor any offer, SYBEX bears no responsibility. This notice concerning support for the Software is provided for your information only. SYBEX is not the agent or principal of the Owner(s), and SYBEX is in no way responsible for providing any sup- port for the Software, nor is it liable or responsible for any support provided, or not provided, by the Owner(s). WARRANTY SYBEX warrants the enclosed media to be free of physical defects for a period of ninety (90) days after purchase. The Software is not available from SYBEX in any other form or media than that enclosed herein or posted to www.sybex.com. If you discover a defect in the media during this warranty period, you may obtain a replacement of identical format at no charge by sending the defective media, postage prepaid, with proof of purchase to: SYBEX Inc. Product Support Department 1151 Marina Village Parkway Alameda, CA 94501 Web: www.sybex.com After the 90-day period, you can obtain replacement media of identi- cal format by sending us the defective disk, proof of purchase, and a check or money order for $10, payable to SYBEX. DISCLAIMER SYBEX makes no warranty or representation, either expressed or implied, with respect to the Software or its contents, quality, per- formance, merchantability, or fitness for a particular purpose. In no event will SYBEX, its distributors, or dealers be liable to you or any other party for direct, indirect, special, incidental, consequential, or other damages arising out of the use of or inability to use the Soft- ware or its contents even if advised of the possibility of such damage. In the event that the Software includes an online update feature, SYBEX further disclaims any obligation to provide this feature for any specific duration other than the initial posting. The exclusion of implied warranties is not permitted by some states. Therefore, the above exclusion may not apply to you. This warranty provides you with specific legal rights; there may be other rights that you may have that vary from state to state. The pricing of the book with the Software by SYBEX reflects the allocation of risk and limitations on liability contained in this agreement of Terms and Conditions. SHAREWARE DISTRIBUTION This Software may contain various programs that are distributed as shareware. Copyright laws apply to both shareware and ordinary commercial software, and the copyright Owner(s) retains all rights. If you try a shareware program and continue using it, you are expected to register it. Individual programs differ on details of trial periods, regis- tration, and payment. Please observe the requirements stated in appropriate files. COPY PROTECTION The Software in whole or in part may or may not be copy-protected or encrypted. However, in all cases, reselling or redistributing these files without authorization is expressly forbidden except as specifically provided for by the Owner(s) therein. Software License Agreement: Terms and Conditions 2877c00.qxd 11/11/01 4:13 PM Page v Copyright ©2002 SYBEX, Inc., Alameda, CA www.sybex.com To my family 2877c00.qxd 11/11/01 4:13 PM Page vii Copyright ©2002 SYBEX, Inc., Alameda, CA www.sybex.com Acknowledgments Many people contributed to this book, and I would like to thank them all. I guess I should start with the programmers at Microsoft, for their commitment to Visual Basic. Visual Basic has evolved from a small, limited programming environment to a first-class development tool. Special thanks to the talented people at Sybex—to all of them and to each one individually. I’ll start with editor Pete Gaughan, who has taken this book personally and improved it in numerous ways. Thanks, Pete. Thank you to developmental editor Tom Cirtin, who has followed the progress of the book, its ups and downs, and managed to coordinate the entire team. To technical editors Jesse Patterson and Greg Guntle for scrutinizing every paragraph and every line of code. To produc- tion editor Kylie Johnston, who has done more than I can guess to keep this project in order and on schedule. To designer and compositor Maureen Forys, and everyone else who added their expertise and talent. Thank you all! I’d like to thank and recognize Matt Tagliaferri for contributing Chapter 17, on exception handling. I would also like to thank Alvaro Antunes and Harry Heijkoop for their helpful remarks while they were translating earlier versions of Mastering Visual Basic into Portuguese and Dutch, respectively. 2877c00.qxd 11/12/01 7:39 PM Page viii Copyright ©2002 SYBEX, Inc., Alameda, CA www.sybex.com Contents at a Glance Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii Part I • The Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Chapter 1 • Getting Started with VB.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Chapter 2 • Visual Basic Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Chapter 3 • Visual Basic: The Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Chapter 4 • Writing and Using Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Chapter 5 • Working with Forms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Chapter 6 • Basic Windows Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 Chapter 7 • More Windows Controls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 Part II • Rolling Your Own Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 Chapter 8 • Building Custom Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 Chapter 9 • Building Custom Windows Controls . . . . . . . . . . . . . . . . . . . . . . . 391 Chapter 10 • Automating Microsoft Office Applications . . . . . . . . . . . . . . . . . . 433 Part III • Basic Framework Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477 Chapter 11 • Storing Data in Collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 Chapter 12 • Handling Strings, Characters, and Dates . . . . . . . . . . . . . . . . . . . . 529 Chapter 13 • Working with Folders and Files . . . . . . . . . . . . . . . . . . . . . . . . . . 569 Part IV • Intermediate Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617 Chapter 14 • Drawing and Painting with Visual Basic . . . . . . . . . . . . . . . . . . . . 619 Chapter 15 • Printing with VB.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699 Chapter 16 • The TreeView and ListView Controls . . . . . . . . . . . . . . . . . . . . . 741 2877c00.qxd 11/11/01 4:13 PM Page ix Copyright ©2002 SYBEX, Inc., Alameda, CA www.sybex.com Chapter 17 • Error Handling and Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . 791 Chapter 18 • Recursive Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811 Chapter 19 • The Multiple Document Interface . . . . . . . . . . . . . . . . . . . . . . . . 837 Part V • Database Programming with VB.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867 Chapter 20 • Databases: Architecture and Basic Concepts . . . . . . . . . . . . . . . . . 869 Chapter 21 • Building Database Applications with ADO.NET . . . . . . . . . . . . . 925 Chapter 22 • Programming the ADO.NET Objects . . . . . . . . . . . . . . . . . . . . . 963 Part VI • VB.NET on the Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 Chapter 23 • Introduction to Web Programming . . . . . . . . . . . . . . . . . . . . . . . 999 Chapter 24 • Accessing Data on the Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1047 Chapter 25 • XML Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1083 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1099 CONTENTS AT A GLANCE x 2877c00.qxd 11/11/01 4:13 PM Page x Copyright ©2002 SYBEX, Inc., Alameda, CA www.sybex.com Introduction Welcome to .NET and Visual Basic .NET. As you already know, .NET is a name for a new strategy: a blueprint for building applications for the next decade. It’s actually even more than that. It’s Microsoft’s commitment to remain at the top of a rapidly changing world and give us the tools to address the needs of tomorrow’s computing. Visual Basic .NET is a language for creating .NET applications, like many others. It also happens that Visual Basic is the easiest to learn, most productive language (but you already know that). Visual Basic .NET is released shortly after the tenth anniversary of the first version of VB. The original language that changed the landscape of computing has lasted for 10 years and has enabled more programmers to write Windows application than any other language. Programmers who invested in Visual Basic 10 years ago are in demand today. In the world of computing, how- ever, things change very fast, including languages. At some point, they either die, or they evolve into something new. Visual Basic was a language designed primarily for developing Windows applications. It was a simple language, because it managed to hide many of the low-level details of the operating system. Those who wanted to do more with Visual Basic had to resort to Win- dows API. In a way, earlier versions of Visual Basic were ‘sandboxed’ to protect developers from scary details. Microsoft had to redesign Visual Basic. The old language just didn’t belong in the .NET pic- ture (at least, it wouldn’t integrate very well into the picture). Visual Basic .NET is not VB7; it’s a drastic departure from VB6, but a necessary departure. Visual Basic .NET was designed to take us through the next decade of computing, and if you want to stay ahead, you will have to invest the time and effort to learn it. The most fundamental component of the .NET initiative is the .NET Framework, or simply the Framework. You can think of the Framework as an enormous collection of functions for just about any programming task. All drawing methods, for example, are part of the System.Drawing class. To draw a rectangle, you call the DrawRectangle method, passing the appropriate argu- ments. To create a new folder, you call the CreateDirectory method of the Directory class; to retrieve the files in a folder, you call the GetFiles method of the same object. The Framework contains all the functionality of the operating system and makes it available to your application through numerous methods. VB was such a success because it was a very simple language. You didn’t have to learn a lot before you could start using the language. Being able to access the Framework’s objects means that you’re no longer limited by the language. The new version of the language unlocks the full potential of .NET; now there’s hardly anything you can do with another language but can’t do 2877c00.qxd 11/11/01 4:13 PM Page xxiii Copyright ©2002 SYBEX, Inc., Alameda, CA www.sybex.com INTRODUCTION xxiv with Visual Basic. This makes the language as powerful as any other language, but it also makes the learning curve steeper. The good news is that, if you get started today, you’ll get a head start, which may well last for another decade. Who Should Read This Book? You don’t need to know Visual Basic to read Mastering Visual Basic .NET, but you do need a basic understanding of programming. You need to know the meaning of variables and functions and how an If…Then structure works. This book is addressed to the typical programmer who wants to get the most out of Visual Basic. It covers the topics I feel are of use to most VB programmers, and it does so in depth. Visual Basic .NET is an extremely rich programming environment, and I’ve had to choose between superficial coverage of many topics and in-depth coverage of fewer topics. To make room for more topics, I have avoided including a lot of reference material and lengthy listings. For example, you won’t find complete project listings or Form descriptions. I assume you can draw a few controls on a Form and set their properties, and you don’t need long descriptions of the properties of the control. I’m also assuming that you don’t want to read the trivial segments of each application. Instead, the listings concentrate on the “meaty” part of the code: the procedures that explain the topic at hand. If you want to see the complete listing, it’s all on the CD. The topics covered in this book were chosen to provide a solid understanding of the principles and techniques for developing applications with Visual Basic. Programming isn’t about new key- words and functions. I chose the topics I felt every programmer should learn in order to master the language. I was also motivated by my desire to present useful, practical examples. You will not find all topics equally interesting or important. My hope is that everyone will find something interesting and something of value to their daily work—whether it’s an application that maps the folders and files of a drive to a TreeView control, an application that prints tabular data, or an application that saves a collection of objects to a file. Many books offer their readers long, numbered sequences of steps to accomplish something. Fol- lowing instructions simplifies certain tasks, but programming isn’t about following instructions. It’s about being creative; it’s about understanding principles and being able to apply the same techniques in several practical situations. And the way to creatively exploit the power of a language such as Visual Basic .NET is to understand its principles and its programming model. In many cases, I provide a detailed, step-by-step procedure that will help you accomplish a task, such as designing a menu. But not all tasks are as simple as designing menus. I explain why things must be done in a certain way, and I present alternatives and try to connect new topics to those explained earlier in the book. In several chapters, I expand on applications developed in earlier chap- ters. Associating new knowledge to something you have already mastered provides positive feedback and a deeper understanding of the language. This book isn’t about the hottest features of the language; it’s about solid programming tech- niques and practical examples. For example, I’m not going to show you how to write multithreaded applications. The real challenge with multithreaded applications is their debugging, which requires substantial experience. Once you master the basics of programming Windows applications with Visual Basic .NET and you feel comfortable with the more advanced examples of the book, you will find it easy to catch up with the topics that aren’t discussed. 2877c00.qxd 11/11/01 4:13 PM Page xxiv Copyright ©2002 SYBEX, Inc., Alameda, CA www.sybex.com [...]... Getting Started with VB.NET Visual Basic Projects Visual Basic: The Language Writing and Using Procedures Working with Forms Basic Windows Controls More Windows Controls Copyright ©2002 SYBEX, Inc., Alameda, CA www.sybex.com 2877c01.qxd 11/11/01 4:14 PM Page 3 Chapter 1 Getting Started with VB.NET Welcome to the Enterprise Edition of Visual Basic NET I’m assuming you have installed Visual Studio NET, Enterprise... you shouldn’t give up Simpler applications would have made my job easier, but the book wouldn’t deserve the Mastering title and your knowledge of Visual Basic wouldn’t be as complete In the first part of the book, we’ll go through the fundamentals of Visual Basic NET You’ll learn how to design visual interfaces with point-and-click operations, and how to program a few simple events, like the click of... access tools The emphasis is on the visual tools, and you will learn how to query databases and present data to the user You will also find information on programming the basic objects of ADO.NET Part VI is about Web applications Here you will learn the basics of ASP NET, how to develop Web applications, and how to write Web services Web applications are written Visual Basic NET, but they deploy a user... them with clear, practical examples VB6 ➠ VB.NET Experienced Visual Basic programmers should pay attention to these special sidebars with the “VB6 to VB.NET” icon, which calls your attention to changes in the language These sections usually describe new features in VB.NET or enhancements of VB6 features, but also VB6 features that are no longer supported by VB.NET This book tries to teach through examples... require any knowledge of Visual Basic 6 It doesn’t require anything more than a familiarity with programming As you already know, Visual Basic NET is just one of the languages you can use to build applications with Visual Studio NET I happen to be convinced that it is also the simplest, most convenient language, but this isn’t really the issue What you should keep in mind is that Visual Studio NET is an... in their browser Note The official names of the products are Visual Studio NET and Visual Basic NET Throughout the book I will refer to the language as VB.NET and mostly as VB When referring to the previous version of the language, I will use VB6 Starting a New Project At this point, you can create a new project and start working with Visual Basic NET To best explain the various items of the IDE, we... will be created (every project is stored in its own folder) Visual Studio will create a new folder under the one specified in the Location box and will name it after the project You can leave the default project folder and click the OK button Figure 1.2 The New Project dialog box VB6 ➠ VB.NET Unlike previous versions of Visual Basic, Visual Basic NET creates a new folder for the project and saves the... environment for developing Windows and Web applications Visual Basic NET is just one of the languages you can use to program your applications Actually, Visual Studio NET was designed to host any language, and many companies are working on languages that will be integrated in Visual Studio NET Some people will develop Windows applications in Visual Studio NET with COBOL, or FORTRAN Copyright ©2002... www.sybex.com 2877c01.qxd 4 11/11/01 4:14 PM Page 4 Chapter 1 GETTING STARTED WITH VB.NET So, what’s the distinction between Visual Studio NET and the language? Visual Studio NET is the environment that provides all the necessary tools for developing applications The language is only one aspect of a Windows application The visual interface of the application isn’t tied to a specific language, and the same... independent of the language Visual Studio provides tools that allow you to connect to a database, inspect its objects, retrieve the information you’re interested in, and even store it in objects that can be accessed from within any language There are many visual tools in the IDE, like the Menu Designer This tool allows you to visually design menus and to set their names and basic properties (such as . the .NET pic- ture (at least, it wouldn’t integrate very well into the picture). Visual Basic .NET is not VB7; it’s a drastic departure from VB6, but a necessary departure. Visual Basic .NET was. another decade. Who Should Read This Book? You don’t need to know Visual Basic to read Mastering Visual Basic .NET, but you do need a basic understanding of programming. You need to know the meaning. Mastering title and your knowledge of Visual Basic wouldn’t be as complete. In the first part of the book, we’ll go through the fundamentals of Visual Basic .NET. You’ll learn how to design visual

Ngày đăng: 26/10/2014, 20:37

TỪ KHÓA LIÊN QUAN