Providing Technology Training and Mentoring For Modern Technology Adoption
Web Age Aniversary Logo
US Inquiries / 1.877.517.6540
Canadian Inquiries / 1.877.812.8887
Course #:WA1936

Windows Forms Using C# Training

This five-day course provides a practical, hands-on introduction to GUI development using Windows Forms and C#®. The course introduces database programming in Windows®, including use of Language Integrated Query (LINQ) in .NET 3.5. The course covers powerful newer Windows Forms features, such as new controls, new data binding, and ClickOnce deployment for creating smart client applications. The course begins with a fundamental discussion of Windows Forms architecture and programming simple Windows Forms applications from scratch. Then the use of Visual Studio® 2008 and the Forms Designer is introduced, which is used throughout the remainder of the course. Simple controls are covered, such as buttons, labels, textboxes, checkboxes, radio buttons, and group boxes. List controls are surveyed, including list box, combo box, list view, and DomainUpDown. Dialogs are discussed in detail, including modal and modeless dialogs and associated controls. Menus, toolbars, and status bars are covered. Advanced topics are introduced, including parent/child and owner/owned relationships, MDI, programming the Clipboard, and visual inheritance. Advanced controls are introduced, including the tree view and tab control. Resources are discussed, including their use in localization. The Application class is covered. Applications settings are discussed, including use of configuration files and the Registry. The course concludes with an introduction to data access in Windows applications, including LINQ, and with coverage of newer Windows Forms features.


Experienced application developers and architects responsible for Windows applications in a Microsoft environment.


Experience programming the .NET Framework using C#.


5 Days

Outline of Windows Forms Using C# Training

1. Introduction to Windows Forms

  • What Are Windows Forms?
  • Windows Forms Class Hierarchy
  • Control Class
  • Form Class
  • Form Class Methods
  • Building a Form
  • Application Class
  • Simple Windows Application
  • Using the .NET Framework SDK
  • Using Controls
  • Common Control Properties
  • Ambient Control Properties
  • Common Control Events
  • Trapping Events
  • Using the Button Control
  • HelloWorld – Step 3
  • Using the Label Control
  • Using the TextBox Control
  • MSDN Documentation

2. Visual Studio and the Forms Designer

  • Visual Studio
  • Using the Forms Designer
  • Examining the Forms Designer Generated Code
  • Designing "Pretty" Forms
  • Designing "Easy-to-Use" Forms
  • Setting the Tab Order
  • Defining Keyboard Shortcuts
  • Defining Default and Cancel Buttons

3. Using Controls

  • Controls
  • Using the TextBox – Again
  • Using the Clipboard
  • Making Selections
  • Using the CheckBox
  • Using the RadioButton with a GroupBox
  • Working with Ranges
  • Using the NumericUpDown
  • Using the TrackBar
  • Working with Dates
  • Using the MonthCalendar
  • Using DateTimePicker
  • Other Controls
  • Tracing
  • Debug and Trace Classes
  • Viewing Trace Output
  • Debug Statements
  • Debug Output
  • WriteLine Syntax

4. List Controls

  • Working with Lists
  • Using a ListBox
  • Selected Items
  • Selected Indices
  • Other ListBox Features
  • Adding and Removing Items Dynamically
  • Using the ComboBox
  • Storing Objects in List Controls
  • Using the DomainUpDown Control
  • Using a ListView
  • Adding Columns to a ListView
  • Adding items to a ListView

5. Working with Dialogs

  • Modal vs. Modeless Dialogs
  • Message Box
  • MessageBox Show Method
  • Closing a Form
  • Custom Dialogs
  • Modal Dialogs
  • Creating a New Form
  • Common Dialog Properties
  • Designing the Form
  • Configuring the DialogResult
  • Displaying the Form
  • Accessing Data on the Form
  • Changing the Behavior of a Button's DialogResult
  • Displaying Errors with the ErrorProvider Control
  • Validation Using the ErrorProvider
  • Modeless Dialogs
  • Designing the Modeless Dialog
  • Displaying the Form
  • Managing the Relationship Between the Parent and Modeless Dialog
  • Programming the Apply and Close Buttons
  • Programming the Apply Button
  • Managing the Number of Instances of the Modeless Dialog
  • Common Dialogs
  • Using the Common Dialog Controls

6. Menus, Toolbars and Status Bars

  • Menus
  • MainStrip Control
  • Attaching a Menu to a Form
  • Configuring Items in a Menu
  • Testing the Menu
  • Responding to Menu Events
  • DropDownOpening Event
  • ContextMenuStrip Control
  • Context Menu Events
  • Handling Multiple Events
  • Status Bars
  • A Quick Status Bar
  • Toolbars
  • Importing Images
  • Associating an Event Handler
  • Image and Text on Buttons

7. Advanced Windows Forms Topics

  • Forms and Controls
  • Parent/Child Relationships
  • Owner/Owned Relationships
  • Top-Most Forms
  • MDI Applications
  • .NET MainMenu Class
  • Creating an MDI Parent Window
  • Creating and Displaying an MDI Child Window
  • Arranging MDI Child Windows
  • Merging the Parent and Child Menus
  • Clipboard Object
  • Placing Data on the Clipboard
  • Retrieving Data from the Clipboard
  • Visual Inheritance
  • Building the Base Form

8. Using Advanced Controls

  • Panel Control
  • TreeView Control
  • TreeView Properties
  • TreeView Methods
  • TreeView Events
  • TreeNode Class
  • Adding Nodes
  • Removing Nodes
  • Iterating Through Nodes
  • ImageList
  • Image Collection Editor
  • Splitter Control
  • Splitter and SplitContainer
  • Tab Control
  • Controls on Tab Pages
  • Selected Index
  • Tab Control Event Handling
  • Controls Documentation

9. Resources

  • Resources
  • Image Resources
  • Loading the Bitmaps
  • Embedded Resources
  • Accessing Embedded Resources
  • Creating String Resources
  • Strings in the Program
  • Accessing Resources from Code
  • Cultures and Internationalization
  • .NET Support for Cultures
  • Changing the Current Culture
  • Building Localizable Forms
  • MainForm.resx File
  • Code for Localization
  • Visual Studio Localization Support

10. Applications and Settings

  • The Application Class
  • Starting and Stopping Applications
  • Application Events
  • Logging to a File
  • Closing a Window
  • Processing Windows Messages
  • Filtering Messages
  • Configuration Files
  • Reading Configuration Files
  • Configuration File and Visual Studio
  • Accessing the Registry

11. Data Access and Data Binding

  • .NET Namespaces
  • ADO.NET Architecture
  • Connected Data Access
  • DataSet Architecture
  • Why DataSet?
  • DataSet Components
  • XML File Schema Definition
  • XML File Data
  • Reading and Writing XML
  • Accessing a DataSet
  • Adding a New Row
  • Searching and Updating a Row
  • Deleting a Row
  • Data Adapters
  • Data Binding Concept
  • Simple Data Binding
  • Binding to a List
  • Binding to a DataGrid
  • DataView
  • Filtering and Sorting
  • DataView and Data Binding
  • Column Formatting
  • Language Integrated Query (LINQ)
  • Bridging Objects and Data
  • Using Server Explorer
  • Object Relational Designer
  • IntelliSense
  • Basic LINQ Query Operators
  • Obtaining a Data Source
  • Filtering
  • Ordering
  • Aggregation
  • Obtaining Lists and Arrays
  • Deferred Execution
  • Modifying a Data Source
  • Performing Inserts via LINQ to SQL
  • Performing Deletes via LINQ to SQL
  • Performing Updates via LINQ to SQL

12. New Features in Windows Forms

  • Evolution of Microsoft Windows
  • New Controls in .NET 2.0
  • ToolStrip and SplitContainer
  • WebBrowser Control
  • Application Settings
  • Application Settings Using Visual Studio
  • Application Configuration File
  • User Configuration File
  • Manual Application Settings
  • Default Values of Settings
  • New Data Binding
  • BindingSource Architecture
  • Binding to a List
  • Setting up the Bindings
  • Category Class
  • Code in the Form
  • DataGridView Control
  • Performing a Query
  • BackgroundWorker Component
  • BackgroundWorker Code
  • ClickOnce Deployment
  • Creating a Virtual Directory
  • Publishing a ClickOnce App
  • Running the Application
We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.
US Inquiries / 1.877.517.6540
Canadian Inquiries / 1.877.812.8887