
- •maranGraphics
- •CREDITS
- •ACKNOWLEDGMENTS
- •ABOUT THE AUTHORS
- •AUTHORS’ ACKNOWLEDGMENTS
- •TABLE OF CONTENTS
- •HOW TO USE THIS BOOK
- •INTRODUCTION TO C#
- •START VISUAL STUDIO .NET
- •OPEN A NEW C# PROJECT
- •OPEN A C# WEB PROJECT
- •SET JSCRIPT .NET AS THE DEFAULT SCRIPT LANGUAGE
- •EXPLORE THE CLASS VIEW WINDOW
- •VIEW THE CONTENTS WINDOW
- •GET HELP USING THE INDEX WINDOW
- •SEARCH FOR HELP
- •ADD COMPONENTS FROM THE TOOLBOX
- •ADD A TASK TO THE TASK LIST
- •CHANGE FORM PROPERTIES IN THE PROPERTIES WINDOW
- •ADD A CUSTOM TOOLBAR
- •DELETE A TOOLBAR
- •CHANGE THE VISUAL STUDIO ENVIRONMENT
- •MANAGE OPEN WINDOWS
- •OPEN A PROJECT
- •VIEW THE MAIN METHOD
- •COMBINE PROGRAM TYPES
- •ADD REFERENCE TYPES
- •ADD OPERATORS
- •INSERT ATTRIBUTES
- •ENTER CLASSES
- •ADD COMMENTS TO CODE
- •WRITE YOUR FIRST PROGRAM
- •ENTER XML DOCUMENTATION
- •ACCESS DOCUMENTATION
- •LOG A BUG REPORT
- •VIEW INFORMATION ABOUT C# BUILDING BLOCKS
- •PROGRAM CLASSES
- •ADD A CLASS
- •EMPLOY CLASS INHERITANCE
- •PROGRAM INSTANCE CONSTRUCTORS
- •INSERT DESTRUCTORS
- •PROGRAM STRUCTS
- •DISPLAY HEAP AND STACK INFORMATION
- •FIND TYPE INFORMATION
- •PROGRAM CONSTANT EXPRESSIONS
- •SPECIFY VALUE TYPES
- •PROGRAM NUMERIC TYPES
- •PROGRAM THE BOOLEAN TYPE
- •DECLARE REFERENCE TYPES
- •ENTER REFERENCE TYPE DECLARATIONS
- •CONVERT VALUE TYPES TO REFERENCE TYPES
- •PROGRAM POINTER TYPES
- •INSERT THE VOID TYPE
- •ADD INTERFACE PROPERTIES
- •ADD AN INTERFACE INDEX
- •VIEW INFORMATION ABOUT METHODS
- •ADD A METHOD
- •ADD STATIC METHODS
- •INCLUDE NON-STATIC METHODS
- •ENTER DELEGATES
- •PROGRAM EVENTS
- •ADD AN EVENT-HANDLING METHOD
- •VIEW INFORMATION ABOUT ARRAYS
- •ENTER SINGLE-DIMENSIONAL ARRAYS
- •ADD MULTIDIMENSIONAL ARRAYS
- •PROGRAM ARRAY-OF-ARRAYS
- •ITERATE THROUGH ARRAY ELEMENTS
- •SORT ARRAYS
- •SEARCH ARRAYS
- •IMPLEMENT A COLLECTIONS CLASS
- •PROGRAM STRUCTS
- •ADD AN INDEXER
- •INCLUDE ENUMERATIONS
- •CREATE STRING LITERALS AND VARIABLES
- •ASSIGN VALUES TO STRINGS
- •CONCATENATE STRINGS
- •COMPARE STRINGS
- •SEARCH FOR SUBSTRINGS
- •REPLACE CHARACTERS
- •EXTRACT SUBSTRINGS
- •CHANGE THE CHARACTER CASE
- •TRIM SPACES
- •REMOVE CHARACTERS
- •SPLIT A STRING
- •JOIN STRINGS
- •PAD STRINGS
- •VIEW INFORMATION ABOUT PROPERTIES
- •COMPARE PROPERTIES AND INDEXERS
- •PROGRAM PROPERTY ACCESSORS
- •DECLARE ABSTRACT PROPERTIES
- •INCLUDE PROPERTIES ON INTERFACES
- •VIEW INFORMATION ABOUT WINDOWS FORMS
- •ADD A WINDOWS FORM IN THE WINDOWS FORM DESIGNER
- •SET THE FORM TYPE
- •CHOOSE THE STARTUP WINDOWS FORM
- •CREATE A MODAL FORM
- •LAYOUT A FORM
- •SET A FORM LOCATION
- •CHANGE FORM PROPERTIES
- •CREATE A TRANSPARENT FORM
- •AN INTRODUCTION TO WEB FORMS AND CONTROLS
- •CREATE AN ASP.NET WEB SITE
- •CREATE A WEB FORM
- •ADD SERVER CONTROLS TO A WEB FORM
- •READ AND CHANGE PROPERTIES FROM OBJECTS ON A WEB FORM
- •USING SERVER-SIDE COMPONENTS ON WEB FORMS
- •INTRODUCING DATA ACCESS WITH ADO.NET
- •DISPLAY DATA WITH THE DATAGRID CONTROL
- •CONFIGURE THE DATAGRID CONTROL
- •INSERT DATA INTO A SQL DATABASE
- •UPDATE DATA FROM A SQL DATABASE
- •DELETE DATA FROM A SQL DATABASE
- •EXECUTE A STORED PROCEDURE IN A SQL DATABASE
- •READ XML FROM A FILE
- •SAVE XML TO A FILE
- •QUERY XML WITH XPATH
- •APPLY XSL TO XML
- •INTRODUCTION TO DISTRIBUTED APPLICATIONS
- •CREATE AN APPLICATION WITH PRIVATE ASSEMBLIES
- •CREATE AN APPLICATION WITH SHARED ASSEMBLIES
- •VERSION A SHARED ASSEMBLY
- •CONFIGURE A CLIENT FOR A VERSIONED ASSEMBLY
- •CREATE A WEB SERVICE
- •USING A WEB SERVICE
- •INTRODUCTION TO EXCEPTION HANDLING
- •THROWING AN EXCEPTION
- •HANDLING EXCEPTIONS WITH THE CATCH BLOCK
- •USING THE FINALLY BLOCK
- •WRITE ERRORS TO THE APPLICATION LOG
- •BASIC EXAMPLES
- •WHAT’S ON THE CD-ROM
- •USING THE E-VERSION OF THIS BOOK
- •INDEX
- •Symbols & Numbers

C#
Your visual blueprint for building .NET applications
by Eric Butow and Tommy Ryan
TM
From
®
&
Best-Selling Books • Digital Downloads • e-Books • Answer Networks • e-Newsletters • Branded Web Sites • e-Learning
New York, NY • Cleveland, OH • Indianapolis, IN

C#: Your visual blueprint for building .NET applications
Published by
Hungry Minds, Inc.
909 Third Avenue New York, NY 10022
Copyright © 2002 Hungry Minds, Inc.
Certain designs, text, and illustrations Copyright © 1992-2002 maranGraphics, Inc., used with maranGraphics’ permission. All rights reserved. No part of this book, including interior design, cover design, and icons, may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording, or otherwise) without the prior written permission of the publisher.
maranGraphics, Inc. 5755 Coopers Avenue
Mississauga, Ontario, Canada L4Z 1R9
Library of Congress Control Number: 2001089361
ISBN: 0-7645-3601-X
Printed in the United States of America
10 9 8 7 6 5 4 3 2 1
1V/QW/RR/QR/IN
Distributed in the United States by Hungry Minds, Inc.
Distributed by CDG Books Canada Inc. for Canada; by Transworld Publishers Limited in the United Kingdom; by IDG Norge Books for Norway; by IDG Sweden Books for Sweden; by IDG Books Australia Publishing Corporation Pty. Ltd. for Australia and New Zealand; by TransQuest Publishers Pte Ltd. for Singapore, Malaysia, Thailand, Indonesia, and Hong Kong; by Gotop Information Inc. for Taiwan; by ICG Muse, Inc. for Japan; by Intersoft for South Africa; by Eyrolles for France; by International Thomson Publishing for Germany, Austria and Switzerland; by Distribuidora Cuspide for Argentina; by LR International for Brazil; by Galileo Libros for Chile; by Ediciones ZETA S.C.R. Ltda. for Peru; by WS Computer Publishing Corporation, Inc., for the Philippines; by Contemporanea de Ediciones for Venezuela; by Express Computer Distributors for the Caribbean and West Indies; by Micronesia Media Distributor, Inc. for Micronesia; by Chips Computadoras S.A. de C.V. for Mexico; by Editorial Norma de Panama S.A. for Panama; by American Bookshops for Finland.
For U.S. corporate orders, please call maranGraphics at 800-469-6616 or fax 905-890-9434.
For general information on Hungry Minds’ products and services please contact our Customer Care Department within the U.S. at 800-762-2974, outside the U.S. at 317-572-3993 or fax 317-572-4002.
For sales inquiries and reseller information, including discounts, premium and bulk quantity sales, and foreign-language translations, please contact our Customer Care Department at 800-434-3422, fax 317-572-4002, or write to Hungry Minds, Inc., Attn: Customer Care Department, 10475 Crosspoint Boulevard, Indianapolis, IN 46256.
For information on licensing foreign or domestic rights, please contact our SubRights Customer Care Department at 212-884-5000.
For information on using Hungry Minds’ products and services in the classroom or for ordering examination copies, please contact our Educational Sales Department at 800-434-2086 or fax 317-572-4005.
For press review copies, author interviews, or other publicity information, please contact our Public Relations department at 317-572-3168 or fax 317-572-4168.
For authorization to photocopy items for corporate, personal, or educational use, please contact Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, or fax 978-750-4470.
Screen shots displayed in this book are based on pre-released software and are subject to change.
LIMIT OF LIABILITY/DISCLAIMER OF WARRANTY: THE PUBLISHER AND AUTHOR HAVE USED THEIR BEST EFFORTS IN PREPARING THIS BOOK. THE PUBLISHER AND AUTHOR MAKE NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE ACCURACY OR COMPLETENESS OF THE CONTENTS OF THIS BOOK AND SPECIFICALLY DISCLAIM ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. THERE ARE NO WARRANTIES WHICH EXTEND BEYOND THE DESCRIPTIONS CONTAINED IN THIS PARAGRAPH. NO WARRANTY MAY BE CREATED OR EXTENDED BY SALES REPRESENTATIVES OR WRITTEN SALES MATERIALS. THE ACCURACY AND COMPLETENESS OF THE INFORMATION PROVIDED HEREIN AND THE OPINIONS STATED HEREIN ARE NOT GUARANTEED OR WARRANTED TO PRODUCE ANY PARTICULAR RESULTS, AND THE ADVICE AND STRATEGIES CONTAINED HEREIN MAY NOT BE SUITABLE FOR EVERY INDIVIDUAL. NEITHER THE PUBLISHER NOR AUTHOR SHALL BE LIABLE FOR ANY LOSS OF PROFIT OR ANY OTHER COMMERCIAL DAMAGES, INCLUDING BUT NOT LIMITED TO SPECIAL, INCIDENTAL, CONSEQUENTIAL, OR OTHER DAMAGES.
Trademark Acknowledgments
Hungry Minds, the Hungry Minds logo, Visual, the Visual logo, Read Less - Learn More and related trade dress are registered trademarks or trademarks of Hungry Minds, Inc., in the United States and/or other countries and may not be used without written permission. The maranGraphics logo is a registered trademark or trademark of maranGraphics, Inc. Visual Studio is a a registered trademark of Microsoft Corporation. All other trademarks are the property of their respective owners. Hungry Minds, Inc. and maranGraphics, Inc. are not associated with any product or vendor mentioned in this book.
FOR PURPOSES OF ILLUSTRATING THE CONCEPTS AND TECHNIQUES DESCRIBED IN THIS BOOK, THE AUTHOR HAS CREATED VARIOUS NAMES, COMPANY NAMES, MAILING, E-MAIL AND INTERNET ADDRESSES, PHONE AND FAX NUMBERS AND SIMILAR INFORMATION, ALL OF WHICH ARE FICTITIOUS. ANY RESEMBLANCE OF THESE FICTITIOUS NAMES, ADDRESSES, PHONE AND FAX NUMBERS AND SIMILAR INFORMATION TO ANY ACTUAL PERSON, COMPANY AND/OR ORGANIZATION IS UNINTENTIONAL AND PURELY COINCIDENTAL.
Permissions
maranGraphics
Certain text and illustrations by maranGraphics, Inc., used with maranGraphics’ permission.
is a trademark of Hungry Minds, Inc.
|
U.S. Corporate Sales |
|
U.S. Trade Sales |
|
|
Contact maranGraphics |
Contact Hungry Minds |
|
|
|
at (800) 469-6616 or |
at (800) 434-3422 |
||
|
fax (905) 890-9434. |
or (317) 572-4002. |
||
|
|
|
|
|

C#
Your visual blueprint for building .NET applications

maranGraphics is a family-run business located near Toronto, Canada.
At maranGraphics, we believe in producing great computer books — one book at a time.
maranGraphics has been producing high-technology products for over 25 years, which enables us to offer the computer book community a unique communication process.
Our computer books use an integrated communication process, which is very different from the approach used in other computer books. Each spread is, in essence, a flow chart — the text and screen shots are totally incorporated into the layout of the spread. Introductory text and helpful tips complete the learning experience.
maranGraphics’ approach encourages the left and right sides of the brain to work together — resulting in faster orientation and greater memory retention.
Above all, we are very proud of the handcrafted nature of our books. Our carefully-chosen writers are experts in their fields, and spend countless hours researching and organizing the content for each topic. Our artists
rebuild every screen shot to provide the best clarity possible, making our screen shots the most precise and easiest to read in the industry. We strive for perfection, and believe that the time spent handcrafting each element results in the best computer books money can buy.
Thank you for purchasing this book. We hope you enjoy it!
Sincerely,
Robert Maran
President
maranGraphics
Rob@maran.com
www.maran.com
www.hungryminds.com/visual

CREDITS
Acquisitions, Editorial, and
Media Development
Project Editor
Jade L. Williams
Acquisitions Editor
Jen Dorsey
Product Development Supervisor
Lindsay Sandman
Copy Editor
Timothy Borek
Technical Editor
Namir Shammas
Editorial Manager
Rev Mengle
Media Development Manager
Laura Carpenter
Permissions Editor
Carmen Krikorian
Media Development Specialist
Megan Decraene
Media Development Coordinator
Marisa E. Pearman
Production
Book Design maranGraphics®
Production Coordinator
Nancee Reeves
Layout
LeAndra Johnson, Adam Mancilla,
Kristin Pickett, Jill Piscitelli
Screen Artists
Ronda David-Burroughs,
David E. Gregory, Mark Harris,
Jill A. Proll
Cover Illustration
Russ Marini
Proofreader
Laura Albert, Laura L. Bowman,
John Greenough,
Andy Hollandbeck, Carl Pierce,
Dwight Ramsey
Indexer
TECHBOOKS Production Services
Special Help
Microsoft Corporation,
Richard Graves
ACKNOWLEDGMENTS
Hungry Minds Technology Publishing Group: Richard Swadley, Senior Vice President and Publisher; Mary Bednarek, Vice President and Publisher, Networking; Joseph Wikert, Vice President and Publisher, Web Development Group; Mary C. Corder, Editorial Director, Dummies Technology; Andy Cummings, Publishing Director, Dummies Technology; Barry Pruett, Publishing Director, Visual/Graphic Design
Hungry Minds Manufacturing: Ivor Parker, Vice President, Manufacturing
Hungry Minds Marketing: John Helmus, Assistant Vice President, Director of Marketing
Hungry Minds Production for Branded Press: Debbie Stailey, Production Director
Hungry Minds Sales: Michael Violano, Vice President, International Sales and Sub Rights

ABOUT THE AUTHORS
Eric Butow
Eric Butow is the president and CEO of E.E. Butow Communications LLC (www.eebutow.com), a technical communications firm based in Roseville, California. Butow is also the author of several other Hungry Minds books including Master Visually Windows 2000 Server and FrontPage 2002 Weekend Crash Course.
Tommy Ryan
Tommy graduated from Clemson University with a degree in Chemical Engineering. Tommy has over twelve years of technical project experience and over four years of pure software consulting experience. Tommy’s area of focus is consulting for Microsoft Internet technologies, including Microsoft ASP.NET, C#, SQL Server 2000, BizTalk Server 2000, and Commerce Server 2000. Tommy has used several processes for software development, including variants of the Rational Unified Process, and the Microsoft Solutions Framework. On projects, Tommy normally plays the role of Technical Lead. His certifications include MCSE, MCSD, MCT, and MCP + Internet. Tommy is a recent instructor of MSF Design, Microsoft Site Server 3.0, Interdev 6.0, and several of the Visual Basic 6.0 classes. Tommy is the co-author of “ASP.NET: Your visual blueprint for creating Web applications on the .NET framework.” You can contact Tommy at tryan@threewill.com and learn more about him at http://www.threewill.com/people/tryan.
AUTHORS’ ACKNOWLEDGMENTS
Eric Butow
I would like to acknowledge all the people at Hungry Minds for their support and assistance in making this book possible, especially my editors, Jade Williams and Jennifer Dorsey.
Tommy Ryan
I would like to thank all of the hardworking people at Hungry Minds for helping produce this book – especially Jennifer Dorsey, Jade Williams, and other editors. Jennifer made sure that I was paid (very important) and Jade did an great job of explaining how to write with style.
To the clients that I have worked with during the past couple of years for challenging me to be a better consultant, including Nick Callivas, Brian Blinco, Jay Dalke, Bob Hughes, and Harwell Thrasher.
To my previous employeer, Extreme Logic, and all of the exceptional people that helped me mature as a consultant and an educator. This company has taught me some valuable lessons.
To my colleagues at W.L. Gore and Associates that helped me start my professional career, including John Reaney, Mark Fundakowsi, Diccon Bancroft, John Pysczynski, Pamela Perdue, Erik Nightwine, Debra Raup, Ray Edmanson, Bob McCleary, Lawrence Anderson, Wolfgang Holma and Line 10 Production Team; the WinCC Team at Siemens that helped me in my transition to being a Microsoft geek, including Emilio Matt, Rob Bohm, Bob Meads, Rich Miceli, Charlie Moore, Jörg Allmendinger, and Rene Wolf; and my extended family and friends for the support in the things outside of work, including Joe and Rosemarie Markiewicz, Robert and Donna Philips, Joe and Jan Markiewicz, and Chuck and Mary Hanson, Rob and Gretchen Pfeiffer, and Reverend Joe Ciccone CSP.
A special thanks goes out to my brother, Danny Ryan. Without Danny, I would not have taken or completed my contribution to this book or the ASP.NET book. Danny is an excellent partner and I look forward to the great things that we will accomplish in our new endeavors.

Eric Butow
To my grandmother, who instilled her Midwestern sensibilities in me.
Tommy Ryan
To my eternal partner, Linda.