Introduction to Windows Forms
.NET Does Windows
Adding Controls to a Form
A Peek behind the Scenes
Adding Event Handling Code
Adding a Menu to the Form
Adding Non-Graphical Components
Taking Advantage of the Form Event Model
How Visual C# Handles Events
Exploring Form and Control Events
Common Windows Forms Controls
Label, TextBox, and Button
CheckBox and RadioButton
ComboBox, ListBox, and CheckedListBox
LinkLabel, NumericUpdown, PictureBox and ProgressBar
Exception Handling
Perspectives on Exception Handling
Getting Started with Exception Handling
Catching Specific Exceptions
Raising Errors
Running Code Unconditionally
Handling Unhandled Exceptions
Creating Exception Classes
Working with Strings and Dates
Basic .NET Data Types
Working with Text: The String Class
Working with Dates and Times
Accessing Data
Overview of ADO.NET
Connecting to Data
Executing Commands
Working with Data
Choosing an ADO.NET Provider
Data Binding Techniques
Data Binding Basics
Creating a Data Source
Creating Data-Bound Forms
Data Binding Components and Controls
Displaying Data from Related Tables
Displaying Data from Lookup Tables
Adding Search Capabilities to a Form
Filtering by Values from a Lookup Table
Working with Local Data
Data Validation
Working with Local Data
Using the Data Controls
Data Controls
The BindingNavigator Control
The BindingSource Control
The DataGridView Control
The ReportViewer Control
Handling Input/Output Tasks
Introducing the System.IO Namespace
Selecting Files
Browsing for Folders
Handling Path Information
Working with Directories and Files
Using Stream-Based Objects to Read and Write File Contents
Project Settings in Visual Studio 2005
The Project Designer
Application Properties
Compilation Properties
Debugging Properties
Project References
Project Resources
Project Settings
Debugging Your Applications
Debugging Applications
Setting Breakpoints and Stepping through Code
Evaluating Variables and Objects
Edit and Continue
Debugging Code in Assemblies
Tracing and Instrumenting Applications
Container Controls
Introducing Container Controls
Grouping Controls with the GroupBox Control
Introducing the Panel Control
Displaying Multiple Panels with the SplitContainer Control
Laying Out Panels with the TabControl Control
Simple Layout Using the FlowLayoutPanel Control
Advanced Layout Using the TableLayoutPanel Control
Menus and Toolbars
Introducing the ToolStrips
Working with the ToolStrips
Creating MDI Applications
MDI Applications
MDI Parent and Child Forms
Managing Open Windows
Managing Menus
Working with Open Forms
Complex Windows Forms Controls
Introducing Complex Controls
NotifyIcon Control
WebBrowser Control
MaskedTextBox Control
RichTextBox Control
TreeView and ListView Controls
MonthCalendar and DateTimePicker Controls
Creating Custom Controls
Control Creation in Windows Forms
Inheriting from an Existing Control
Drawing Your Own Custom Controls
Creating Composite Controls
Working with ToolBox Components
Introducing Components
FileSystemWatcher Component
Process Component
EventLog Component
More ToolBox Components
Timer Component
BackgroundWorker Component
PerformanceCounter Component
ServiceController Component
Interoperability
COM and .NET
Calling COM Objects from .NET
Calling .NET Assemblies from COM
Using Platform Invocation Services
Web Services
Deploying Applications Using Click-Once
Publishing an Application
Publish Install and Update Locations
Setting Publish Options
Updating a Deployed Application
Rolling Back an Update
Setting Update Options
What Happens When You Publish an Application?
What Happens When You Publish an Update to an Application?
ClickOnce and Security
Using the Deployment API to Manage Updates