You are previewing Beginning Microsoft® Visual Basic® 2008.
O'Reilly logo
Beginning Microsoft® Visual Basic® 2008

Book Description

Beginning Microsoft Visual Basic 2008 is designed to teach you how to write useful programs in Visual Basic 2008 as quickly and easily as possible.

There are two kinds of beginners for whom this book is ideal:

  • You're a beginner to programming and you've chosen Visual Basic 2008 as the place to start. That's a great choice! Visual Basic 2008 is not only easy to learn, it's also fun to use and very powerful.

  • You can program in another language but you're a beginner to .NET programming. Again, you've made a great choice! Whether you've come from Fortran or Visual Basic 6, you'll find that this book quickly gets you up to speed on what you need to know to get the most from Visual Basic 2008.

Visual Basic 2008 offers a great deal of functionality in both tools and language. No one book could ever cover Visual Basic 2008 in its entirety—you would need a library of books. What this book aims to do is to get you started as quickly and easily as possible. It shows you the roadmap, so to speak, of what there is and where to go. Once we've taught you the basics of creating working applications (creating the windows and controls, how your code should handle unexpected events, what object-oriented programming is, how to use it in your applications, and so on), we'll show you some of the areas you might want to try your hand at next. To this end, the book is organized as follows:

  • Chapters 1 through 9 provide an introduction to Visual Studio 2008 and Windows programming.

  • Chapter 6 provides an introduction to XAML and Windows Presentation Foundation (WPF) programming.

  • Chapter 10 provides an introduction to application debugging and error handling.

  • Chapters 11 through 13 provide an introduction to object-oriented programming and building objects.

  • Chapter 14 provides an introduction to creating Windows Forms user controls.

  • Chapter 15 provides an introduction to graphics in Windows applications.

  • Chapters 16 and 17 provide an introduction to programming with databases and covers Access, SQL Server, ADO.NET and LINQ.

  • Chapters 18 and 19 provide an introduction to ASP.NET and show you how to write applications for the Web.

  • Chapter 20 provides a brief introduction to XML, a powerful tool for integrating your applications—regardless of the language they were written in.

  • Chapter 21 introduces you to web services and the Windows Communication Foundation (WCF).

  • Chapter 22 introduces you to sequential workflows using the Windows Workflow Foundation (WF).

  • Chapter 23 introduces you to building applications for mobile devices using the Compact Framework classes.

  • Chapter 24 introduces you to deploying applications using ClickOnce technology.

  • Chapter 25 provides some insight on where to go next in your journey to learn about VisualBasic 2008.

  • Appendix A provides the answers to chapter exercises.

  • Appendix B introduces the Microsoft Solution Framework.

  • Appendix C provides some background on security.

  • Appendix D provides insight into Windows CardSpace.

  • Appendix E compares the differences between the latest versions of the .NET Framework.

Table of Contents

  1. Copyright
  2. About the Authors
  3. Credits
  4. Acknowledgments
  5. Introduction
    1. Who Is This Book For?
    2. What Does This Book Cover?
    3. What Do I Need to Run Visual Basic 2008?
    4. Conventions
    5. Source Code
    6. Errata
    7. p2p.wrox.com
  6. 1. Welcome to Visual Basic 2008
    1. 1.1. Event-Driven Programming
    2. 1.2. Installing Visual Basic 2008
    3. 1.3. The Visual Basic 2008 IDE
      1. 1.3.1. The Profile Setup Page
      2. 1.3.2. The Menu
      3. 1.3.3. The Toolbars
    4. 1.4. Creating a Simple Application
      1. 1.4.1. Windows in the Visual Studio 2008 IDE
      2. 1.4.2. The Toolbox
      3. 1.4.3. Modified Hungarian Notation
      4. 1.4.4. The Code Editor
    5. 1.5. Using the Help System
    6. 1.6. Summary
    7. 1.7. Exercise
  7. 2. The Microsoft .NET Framework
    1. 2.1. Microsoft's Reliance on Windows
      1. 2.1.1. MSN 1.0
      2. 2.1.2. The .NET Vision
      3. 2.1.3. This Sounds like Java
      4. 2.1.4. Where Now?
    2. 2.2. Writing Software for Windows
      1. 2.2.1. The .NET Framework Classes
      2. 2.2.2. Executing Code
    3. 2.3. Common Language Runtime
      1. 2.3.1. Code Loading and Execution
      2. 2.3.2. Application Isolation
      3. 2.3.3. Security
      4. 2.3.4. Interoperation
      5. 2.3.5. Exception Handling
    4. 2.4. The Common Type System and Common Language Specification
    5. 2.5. Summary
  8. 3. Writing Software
    1. 3.1. Information and Data
      1. 3.1.1. Algorithms
      2. 3.1.2. What Is a Programming Language?
    2. 3.2. Working with Variables
    3. 3.3. Comments and Whitespace
      1. 3.3.1. Comments
      2. 3.3.2. Whitespace
    4. 3.4. Data Types
      1. 3.4.1. Working with Numbers
      2. 3.4.2. Common Integer Math Operations
      3. 3.4.3. Integer Math Shorthand
        1. 3.4.3.1. The Problem with Integer Math
        2. 3.4.3.2. Floating-Point Math
        3. 3.4.3.3. Other States
        4. 3.4.3.4. Single-Precision Floating-Point Numbers
      4. 3.4.4. Working with Strings
        1. 3.4.4.1. Concatenation
        2. 3.4.4.2. Using the Concatenation Operator Inline
        3. 3.4.4.3. More String Operations
        4. 3.4.4.4. Substrings
        5. 3.4.4.5. Formatting Strings
        6. 3.4.4.6. Localized Formatting
        7. 3.4.4.7. Replacing Substrings
      5. 3.4.5. Using Dates
        1. 3.4.5.1. Formatting Date Strings
        2. 3.4.5.2. Extracting Date Properties
        3. 3.4.5.3. Date Constants
        4. 3.4.5.4. Defining Date Literals
        5. 3.4.5.5. Manipulating Dates
      6. 3.4.6. Boolean
    5. 3.5. Storing Variables
      1. 3.5.1. Binary
      2. 3.5.2. Bits and Bytes
      3. 3.5.3. Representing Values
      4. 3.5.4. Converting Values
    6. 3.6. Methods
      1. 3.6.1. Why Use Methods?
      2. 3.6.2. Methods You've Already Seen
      3. 3.6.3. Building a Method
      4. 3.6.4. Choosing Method Names
      5. 3.6.5. Scope
    7. 3.7. Summary
    8. 3.8. Exercises
  9. 4. Controlling the Flow
    1. 4.1. Making Decisions
    2. 4.2. The If Statement
      1. 4.2.1. The Else Statement
      2. 4.2.2. Allowing Multiple Alternatives with ElseIf
      3. 4.2.3. Nested If Statements
      4. 4.2.4. Single-Line If Statement
      5. 4.2.5. Comparison Operators
        1. 4.2.5.1. Using Not Equal To
        2. 4.2.5.2. Using the Numeric Operators
        3. 4.2.5.3. The And and Or Operators
        4. 4.2.5.4. Using the And Operator
        5. 4.2.5.5. More on And and Or
      6. 4.2.6. String Comparison
    3. 4.3. Select Case
      1. 4.3.1. Case-Insensitive Select Case
      2. 4.3.2. Multiple Selections
      3. 4.3.3. The Case Else Statement
      4. 4.3.4. Different Data Types with Select Case
    4. 4.4. Loops
      1. 4.4.1. The For. . .Next Loop
        1. 4.4.1.1. Step
        2. 4.4.1.2. Looping Backwards
      2. 4.4.2. The For Each. . .Next Loop
      3. 4.4.3. The Do. . .Loop Loops
        1. 4.4.3.1. Do While. . .Loop
        2. 4.4.3.2. Acceptable Expressions for a Do. . .Loop
        3. 4.4.3.3. Other Versions of the Do. . .Loop
      4. 4.4.4. Nested Loops
      5. 4.4.5. Quitting Early
      6. 4.4.6. Quitting Do. . .Loops
      7. 4.4.7. Infinite Loops
    5. 4.5. Summary
    6. 4.6. Exercises
  10. 5. Working with Data Structures
    1. 5.1. Understanding Arrays
      1. 5.1.1. Defining and Using Arrays
      2. 5.1.2. Using For Each. . .Next
      3. 5.1.3. Passing Arrays as Parameters
      4. 5.1.4. Sorting Arrays
      5. 5.1.5. Going Backwards
      6. 5.1.6. Initializing Arrays with Values
    2. 5.2. Understanding Enumerations
      1. 5.2.1. Using Enumerations
      2. 5.2.2. Determining the State
      3. 5.2.3. Setting Invalid Values
    3. 5.3. Understanding Constants
      1. 5.3.1. Using Constants
      2. 5.3.2. Different Constant Types
    4. 5.4. Structures
      1. 5.4.1. Building Structures
      2. 5.4.2. Adding Properties to Structures
    5. 5.5. Working with ArrayLists
      1. 5.5.1. Using an ArrayList
      2. 5.5.2. Deleting from an ArrayList
      3. 5.5.3. Showing Items in the ArrayList
    6. 5.6. Working with Collections
      1. 5.6.1. Creating CustomerCollection
      2. 5.6.2. Adding an Item Property
    7. 5.7. Building Lookup Tables with Hashtable
      1. 5.7.1. Using Hashtables
      2. 5.7.2. Cleaning Up: Remove, RemoveAt, and Clear
      3. 5.7.3. Case Sensitivity
    8. 5.8. Advanced Array Manipulation
      1. 5.8.1. Dynamic Arrays
      2. 5.8.2. Using Preserve
    9. 5.9. Summary
    10. 5.10. Exercises
  11. 6. Extensible Application Markup Language (XAML)
    1. 6.1. What Is XAML?
    2. 6.2. XAML Syntax
    3. 6.3. Windows Presentation Foundation
      1. 6.3.1. Creating a Rich WPF User Interface
      2. 6.3.2. Using WPF Common Controls
      3. 6.3.3. Wiring Up Events
    4. 6.4. Summary
    5. 6.5. Exercise
  12. 7. Building Windows Applications
    1. 7.1. Responding to Events
      1. 7.1.1. Setting Up a Button Event
    2. 7.2. Building a Simple Application
      1. 7.2.1. Building the Form
      2. 7.2.2. Counting Characters
      3. 7.2.3. Counting Words
    3. 7.3. Creating More Complex Applications
      1. 7.3.1. The Text Editor Project
      2. 7.3.2. Creating the Toolbar
      3. 7.3.3. Creating the Status Bar
      4. 7.3.4. Creating an Edit Box
      5. 7.3.5. Clearing the Edit Box
      6. 7.3.6. Responding to Toolbar Buttons
    4. 7.4. Using Multiple Forms
      1. 7.4.1. The About Dialog Box
    5. 7.5. Summary
    6. 7.6. Exercises
  13. 8. Displaying Dialog Boxes
    1. 8.1. The MessageBox Dialog Box
      1. 8.1.1. Available Icons for MessageBox
      2. 8.1.2. Available Buttons for MessageBox
      3. 8.1.3. Setting the Default Button
      4. 8.1.4. Miscellaneous Options
      5. 8.1.5. The Show Method Syntax
      6. 8.1.6. Example Message Boxes
    2. 8.2. The OpenDialog Control
      1. 8.2.1. The OpenFileDialog Control
      2. 8.2.2. The Properties of OpenFileDialog
      3. 8.2.3. The Methods of OpenFileDialog
      4. 8.2.4. Using the OpenFileDialog Control
    3. 8.3. The SaveDialog Control
      1. 8.3.1. The Properties of SaveFileDialog
      2. 8.3.2. The Methods of SaveFileDialog
      3. 8.3.3. Using the SaveFileDialog Control
    4. 8.4. The FontDialog Control
      1. 8.4.1. The Properties of FontDialog
      2. 8.4.2. The Methods of FontDialog
      3. 8.4.3. Using the FontDialog Control
    5. 8.5. The ColorDialog Control
      1. 8.5.1. The Properties of ColorDialog
      2. 8.5.2. Using the ColorDialog Control
    6. 8.6. The PrintDialog Control
      1. 8.6.1. The Properties of PrintDialog
      2. 8.6.2. Using the PrintDialog Control
      3. 8.6.3. The PrintDocument Class
        1. 8.6.3.1. The Properties of the PrintDocument Class
      4. 8.6.4. Printing a Document
    7. 8.7. The FolderBrowserDialog Control
      1. 8.7.1. The Properties of FolderBrowserDialog
      2. 8.7.2. Using the FolderBrowserDialog Control
    8. 8.8. Summary
    9. 8.9. Exercises
  14. 9. Creating Menus
    1. 9.1. Understanding Menu Features
      1. 9.1.1. Images
      2. 9.1.2. Access Keys
      3. 9.1.3. Shortcut Keys
      4. 9.1.4. Check Marks
      5. 9.1.5. The Properties Window
    2. 9.2. Creating Menus
      1. 9.2.1. Designing the Menus
      2. 9.2.2. Adding Toolbars and Controls
      3. 9.2.3. Coding Menus
      4. 9.2.4. Coding the View Menu and Toolbars
      5. 9.2.5. Testing Your Code
    3. 9.3. Context Menus
      1. 9.3.1. Creating Context Menus
      2. 9.3.2. Enabling and Disabling Menu Items and Toolbar Buttons
    4. 9.4. Summary
    5. 9.5. Exercise
  15. 10. Debugging and Error Handling
    1. 10.1. Major Error Types
      1. 10.1.1. Syntax Errors
      2. 10.1.2. Execution Errors
      3. 10.1.3. Logic Errors
    2. 10.2. Debugging
      1. 10.2.1. Creating a Sample Project
      2. 10.2.2. Setting Breakpoints
        1. 10.2.2.1. The Breakpoints Window
        2. 10.2.2.2. Useful Icons on the Toolbar
      3. 10.2.3. Debugging Using the Watch Window
      4. 10.2.4. Debugging with the Locals Window
    3. 10.3. Error Handling
      1. 10.3.1. Using Structured Error Handling
    4. 10.4. Summary
    5. 10.5. Exercises
  16. 11. Building Objects
    1. 11.1. Understanding Objects
      1. 11.1.1. Encapsulation
      2. 11.1.2. Methods and Properties
      3. 11.1.3. Events
      4. 11.1.4. Visibility
      5. 11.1.5. What Is a Class?
    2. 11.2. Building Classes
    3. 11.3. Reusability
    4. 11.4. Designing an Object
      1. 11.4.1. State
      2. 11.4.2. Behavior
      3. 11.4.3. Storing State
      4. 11.4.4. Real Properties
      5. 11.4.5. Read/Write Properties
      6. 11.4.6. The IsMoving Method
    5. 11.5. Constructors
    6. 11.6. Inheritance
      1. 11.6.1. Adding New Methods and Properties
      2. 11.6.2. Adding a GetPowerToWeightRatio Method
      3. 11.6.3. Changing Defaults
      4. 11.6.4. Polymorphism: Scary Word, Simple Concept
      5. 11.6.5. Overriding More Methods
      6. 11.6.6. Inheriting from the Object Class
    7. 11.7. Objects and Structures
    8. 11.8. The Framework Classes
      1. 11.8.1. Namespaces
      2. 11.8.2. The Imports Statement
      3. 11.8.3. Creating Your Own Namespace
      4. 11.8.4. Inheritance in the .NET Framework
    9. 11.9. Summary
    10. 11.10. Exercises
  17. 12. Advanced Object-Oriented Techniques
    1. 12.1. Building a Favorites Viewer
      1. 12.1.1. Internet Shortcuts and Favorites
      2. 12.1.2. Using Classes
      3. 12.1.3. Scanning Favorites
      4. 12.1.4. Viewing Favorites
    2. 12.2. An Alternative Favorite Viewer
      1. 12.2.1. Building a Favorites Tray
      2. 12.2.2. Displaying Favorites
    3. 12.3. Using Shared Properties and Methods
      1. 12.3.1. Using Shared Procedures
      2. 12.3.2. Using Shared Methods
    4. 12.4. Understanding Object-Oriented Programming and Memory Management
      1. 12.4.1. Garbage Collection
      2. 12.4.2. Releasing Resources
      3. 12.4.3. Defragmentation and Compaction
    5. 12.5. Summary
    6. 12.6. Exercise
  18. 13. Building Class Libraries
    1. 13.1. Understanding Class Libraries
      1. 13.1.1. Creating a Class Library
      2. 13.1.2. Building a Class Library for Favorites Viewer
      3. 13.1.3. A Multitiered Application
    2. 13.2. Using Strong Names
      1. 13.2.1. Signing Assemblies
      2. 13.2.2. Assembly Versions
    3. 13.3. Registering Assemblies
      1. 13.3.1. Gacutil Utility
      2. 13.3.2. Why Is My Assembly Not Visible in the References Dialog Box?
    4. 13.4. Designing Class Libraries
    5. 13.5. Using Third-Party Class Libraries
    6. 13.6. Viewing Classes with the Object Browser
    7. 13.7. Summary
    8. 13.8. Exercise
  19. 14. Creating Windows Forms User Controls
    1. 14.1. Windows Forms Controls
    2. 14.2. Creating and Testing a User Control
    3. 14.3. Exposing Properties from User Controls
      1. 14.3.1. Adding Properties
      2. 14.3.2. Exposing Methods from User Controls
      3. 14.3.3. Exposing Events from User Controls
    4. 14.4. Design Time or Runtime
    5. 14.5. Creating a Command Link Control
      1. 14.5.1. Building the Command Link Control
      2. 14.5.2. Using the Command Link Control
    6. 14.6. Summary
    7. 14.7. Exercise
  20. 15. Programming Custom Graphics
    1. 15.1. Building a Simple Paint Program
      1. 15.1.1. Creating a Project with User Controls
      2. 15.1.2. How Drawing Programs Work
        1. 15.1.2.1. Raster Graphics
        2. 15.1.2.2. Vector Graphics
      3. 15.1.3. The GraphicsItem Class
      4. 15.1.4. Screen and Client Coordinates
      5. 15.1.5. Listening to the Mouse and Drawing GraphicsCircle Objects
      6. 15.1.6. Invalidation
      7. 15.1.7. Optimized Drawing
      8. 15.1.8. Choosing Colors
        1. 15.1.8.1. Creating the ColorPalette Control and Sizing the Control
      9. 15.1.9. Responding to Clicks
    2. 15.2. Dealing with Two Colors
      1. 15.2.1. Indicating the Assigned Buttons
      2. 15.2.2. Using Advanced Colors
        1. 15.2.2.1. Using the Color Dialog Box
        2. 15.2.2.2. Using System Colors
      3. 15.2.3. Using Different Tools
      4. 15.2.4. Implementing Hollow Circle
    3. 15.3. Working with Images
      1. 15.3.1. Drawing Images
      2. 15.3.2. Scaling Images
      3. 15.3.3. Preserving the Aspect Ratio
    4. 15.4. More Graphics Methods
    5. 15.5. Summary
  21. 16. Accessing Databases
    1. 16.1. What Is a Database?
      1. 16.1.1. Microsoft Access Objects
      2. 16.1.2. Tables
      3. 16.1.3. Queries
    2. 16.2. The SQL SELECT Statement
    3. 16.3. Queries in Access
    4. 16.4. Creating a Customer Query
    5. 16.5. Data Access Components
      1. 16.3.1. DataSet
      2. 16.4.1. DataGridView
      3. 16.4.2. BindingSource
      4. 16.4.3. BindingNavigator
      5. 16.4.4. TableAdapter
    6. 16.6. Data Binding
    7. 16.7. Summary
    8. 16.8. Exercises
  22. 17. Database Programming with SQL Server and ADO.NET
    1. 17.1. ADO.NET
      1. 17.1.1. ADO.NET Data Namespaces
      2. 17.1.2. The SqlConnection Class
        1. 17.1.2.1. Working with the Connection String Parameters
        2. 17.1.2.2. Opening and Closing the Connection
      3. 17.1.3. SqlCommand
        1. 17.1.3.1. The Connection Property
        2. 17.1.3.2. The CommandText Property
        3. 17.1.3.3. The Parameters Collection
        4. 17.1.3.4. The ExecuteNonQuery Method
      4. 17.1.4. SqlDataAdapter
        1. 17.1.4.1. The SelectCommand Property
          1. 17.1.4.1.1. Setting SelectCommand to SQL Text
          2. 17.1.4.1.2. Setting SelectCommand to a Stored Procedure
        2. 17.1.4.2. Using Command Builders to Create the Other Commands
        3. 17.1.4.3. The Fill Method
      5. 17.1.5. The DataSet Class
      6. 17.1.6. DataView
        1. 17.1.6.1. The Sort Property
        2. 17.1.6.2. The RowFilter Property
        3. 17.1.6.3. The Find Method
    2. 17.2. The ADO.NET Classes in Action
      1. 17.2.1. Examining a DataSet Example
    3. 17.3. Data Binding
      1. 17.3.1. BindingContext and CurrencyManager
      2. 17.3.2. Binding Controls
        1. 17.3.2.1. Binding Example
    4. 17.4. LINQ to SQL
    5. 17.5. Summary
    6. 17.6. Exercises
  23. 18. ASP.NET
    1. 18.1. Thin-Client Architecture
    2. 18.2. Web Forms versus Windows Forms
      1. 18.2.1. Windows Forms Advantages
      2. 18.2.2. Web Forms Advantages
    3. 18.3. Web Applications: The Basic Pieces
      1. 18.3.1. Web Servers
      2. 18.3.2. Browsers
      3. 18.3.3. HyperText Markup Language
      4. 18.3.4. VBScript and JavaScript
      5. 18.3.5. Cascading Style Sheets
    4. 18.4. Active Server Pages
      1. 18.4.1. Benefits of ASP.NET Web Pages
      2. 18.4.2. Special Web Site Files
        1. 18.4.2.1. Global.asax
        2. 18.4.2.2. Web.config
      3. 18.4.3. Development
      4. 18.4.4. Controls: The Toolbox
    5. 18.5. Building Web Applications
      1. 18.5.1. Creating a Web Form for Client- and Server-Side Processing
      2. 18.5.2. Web Site Locations with VS 2008
      3. 18.5.3. Performing Data Entry and Validation
      4. 18.5.4. Designing the Site's Look and Feel
      5. 18.5.5. Using the GridView to Build a Data-Driven Web Form
    6. 18.6. Summary
    7. 18.7. Exercises
  24. 19. Web Projects
    1. 19.1. Web Site Authentication
      1. 19.1.1. Windows Authentication
      2. 19.1.2. Forms Authentication
      3. 19.1.3. Web Site Administration Tool (WAT)
      4. 19.1.4. Login Controls
    2. 19.2. Summary
    3. 19.3. Exercises
  25. 20. Visual Basic 2008 and XML
    1. 20.1. Understanding XML
      1. 20.1.1. What Does XML Look Like?
      2. 20.1.2. XML for Visual Basic Newcomers
    2. 20.2. The Address Book Project
      1. 20.2.1. Creating the Project
      2. 20.2.2. The SerializableData Class
      3. 20.2.3. Loading the XML File
      4. 20.2.4. Changing the Data
      5. 20.2.5. Sending E-mail
      6. 20.2.6. Creating a List of Addresses
      7. 20.2.7. Ignoring Members
      8. 20.2.8. Loading Addresses
      9. 20.2.9. Adding New Addresses
      10. 20.2.10. Navigating Addresses
      11. 20.2.11. Deleting Addresses
      12. 20.2.12. Testing at the Edges
    3. 20.3. Integrating with the Address Book Application
      1. 20.3.1. Demonstrating the Principle of Integration
      2. 20.3.2. Reading the Address Book from Another Application
    4. 20.4. Summary
    5. 20.5. Exercises
  26. 21. Distributed Computing with Windows Communication Foundation
    1. 21.1. What Is a Web Service?
      1. 21.1.1. How Does a Web Service Work?
      2. 21.1.2. SOAP
    2. 21.2. Building a Web Service
      1. 21.2.1. A Web Services Demonstration
      2. 21.2.2. Adding More Methods
    3. 21.3. Understanding WCF Services
      1. 21.3.1. WCF services
    4. 21.4. Summary
    5. 21.5. Exercises
  27. 22. Building a Sequential Workflow Using the Windows Workflow Foundation
    1. 22.1. Visual Studio Workflow Templates
    2. 22.2. Workflow Foundation Components
    3. 22.3. Sequential Workflow Activities
    4. 22.4. Creating a Sequential Worklow
    5. 22.5. Property Tax Listing Form Workflow
    6. 22.6. Summary
    7. 22.7. Exercises
  28. 23. Building Mobile Applications
    1. 23.1. Understanding the Environment
      1. 23.1.1. Common Language Runtime
      2. 23.1.2. ActiveSync and Windows Mobile Device Center
      3. 23.1.3. Common Types in the Compact Framework
      4. 23.1.4. The Compact Framework Classes
    2. 23.2. Building a Pocket PC Game
    3. 23.3. Summary
    4. 23.4. Exercise
  29. 24. Deploying Your Application
    1. 24.1. What Is Deployment?
      1. 24.1.1. ClickOnce Deployment
      2. 24.1.2. XCOPY Deployment
    2. 24.2. Creating a Visual Studio 2008 Setup Application
    3. 24.3. User Interface Editor
    4. 24.4. Deploying Different Solutions
      1. 24.4.1. Private Assemblies
      2. 24.4.2. Shared Assemblies
      3. 24.4.3. Deploying Desktop Applications
      4. 24.4.4. Deploying Web Applications
      5. 24.4.5. Deploying XML Web Services
      6. 24.4.6. Useful Tools
    5. 24.5. Summary
    6. 24.6. Exercises
  30. 25. Where to Now?
    1. 25.1. Online Resources
      1. 25.1.1. P2P.Wrox.com
      2. 25.1.2. Microsoft Resources
      3. 25.1.3. Other Resources
    2. 25.2. Offline Resources (Books)
      1. 25.2.1. Professional Visual Basic 2008
      2. 25.2.2. Visual Basic 2008 Programmer's Reference
  31. A. Exercise Solutions
    1. A.1. Chapter 1
    2. A.2. Chapter 3
    3. A.3. Chapter 4
    4. A.4. Chapter 5
    5. A.5. Chapter 6
    6. A.6. Chapter 7
    7. A.7. Chapter 8
    8. A.8. Chapter 9
    9. A.9. Chapter 10
    10. A.10. Chapter 11
    11. A.11. Chapter 12
    12. A.12. Chapter 13
    13. A.13. Chapter 14
    14. A.14. Chapter 16
    15. A.15. Chapter 17
    16. A.16. Chapter 18
    17. A.17. Chapter 19
    18. A.18. Chapter 20
    19. A.19. Chapter 21
    20. A.20. Chapter 22
    21. A.21. Chapter 23
    22. A.22. Chapter 24
  32. B. Using the Microsoft Solutions Framework
    1. B.1. Software Development Life Cycle
    2. B.2. Microsoft Solutions Framework
      1. B.2.1. The Envisioning Phase
        1. B.2.1.1. Problem Statement
        2. B.2.1.2. Goals
        3. B.2.1.3. Define Roles
        4. B.2.1.4. Create a Scope Document
        5. B.2.1.5. Risk Analysis
      2. B.2.2. The Planning Phase
      3. B.2.3. The Developing Phase
        1. B.2.3.1. Setup: Building Staging Areas for Development and Testing
        2. B.2.3.2. Completing the Prototype
        3. B.2.3.3. Completing the Code
        4. B.2.3.4. Supply Application Documentation
      4. B.2.4. The Testing Phase
      5. B.2.5. The Deployment Phase
    3. B.3. Managing Tradeoffs
    4. B.4. Defining Success with the MSF
    5. B.5. Summary
  33. C. An Introduction to Code Security and SSL
    1. C.1. Code Access Security
      1. C.1.1. Permissions
      2. C.1.2. Security Policy
      3. C.1.3. Evidence
    2. C.2. Secure Sockets Layer
    3. C.3. Finding Information and Answers
    4. C.4. Summary
  34. D. An Introduction to Windows CardSpace
    1. D.1. Using CardSpace
    2. D.2. Adding Cardspace to Your Site
    3. D.3. Info on the Internet
    4. D.4. Summary
  35. E. .NET Framework Differences
    1. E.1. What's New in the .NET Framework: Major Additions since Version 2.0
    2. E.2. What's New in the .NET Framework: Minor Additions since Version 2.0
    3. E.3. What's New in Visual Studio 2008
    4. E.4. Info on the Internet