Course Catalog
Curriculum Guides
Buy Courseware
Technical Library
About Object Innovations
Contact Us

877-558-7246 (toll free)  

4130.  Windows Forms Using C#

Rev. 4.6


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). The course covers powerful newer Windows Forms features, such as controls, data binding, and ClickOnce deployment for creating smart client applications. It covers interoperability with the next-generation Windows client framework, Windows Presentation Foundation (WPF).


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 2013 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, programming the Clipboard, visual inheritance, the BackgroundWorker component, and ClickOnce deployment. Advanced controls are introduced, including the tree view, tab control and SpliltContainer. 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. Data access and data binding are covered. The database examples use LocalDB, which is bundled with Visual Studio 2013.  The course concludes with a chapter on Windows Forms and WPF interoperation.


Numerous programming examples and exercises are provided. The student will receive a comprehensive set of notes and all the programming examples.




·         Understand the fundamentals of Windows Forms architecture

·         Acquire proficiency in the use of Visual Studio to create professional class Windows applications

·         Gain a thorough grounding in the important controls provided by Windows Forms

·         Learn how to implement dialogs, menus, toolbars and status bars

·         Learn how to use advanced controls, such as tree views, splitters and tabbed dialogs

·         Understand the use of resources and application settings in Windows Forms applications

·         Learn how to implement data access using ADO.NET and binding of controls

·         Use Language Integrated Query (LINQ) to access data from Windows Forms programs

·         Learn how to interoperate between Windows Forms and WPF


Course Duration:  5 days


Audience: This course is designed for experienced application developers and architects responsible for Windows applications in a Microsoft environment.


Prerequisites:  Experience programming the .NET Framework using C#.


1.      Introduction to Windows Forms

What Are Windows Forms?

Windows Forms Class Hierarchy

Building a Form

The Application Class

Trapping Events


Labels and Textbox Controls


2.      Visual Studio and the Forms Designer

Using the Forms Designer

Code Generated by Forms Designer

Adding Event Handlers

Creating Attractive Forms

Creating Easy To Use Forms


3.      Using Controls

Checkbox, Radio Button, and Group Box

Numeric Up/Down






4.      List Controls

Listbox and Combo box



Storing Objects in List Controls


5.      Working with Dialogs

Modal vs. Modeless Dialogs

Message Boxes

Common Dialogs

Creating a Modal Dialog

Configuring the Dialog Result

Access Data from the Dialog

Validating Data

Error Provider Control

Modal Dialogs

Creating a Modeless Dialog


6.      Menus, Toolbars and Status Bars

Main Menus

Context Menus

Building a Status Bar

Building a Toolbar

Using the Timer Control


7.       Advanced Windows Forms Topics

Parent/Child Relationships

Owner/Owned Relationships

Top-Most Forms

Programming the Clipboard

Visual Inheritance

BackgroundWorker Component

ClickOnce Deployment


8.      Using Advanced Controls







9.      Resources

Image Resources

Resource Files

String Resources

Working with Resources in Visual Studio

Resource Managers

Cultures and Internationalization

Building Localizable Forms


10.  Applications and Settings

Application Class

Processing and Filtering Windows Messages

Application Lifetime and Events

Configuration Files

Application Settings

Windows Registry


11.  Data Access

ADO.NET Overview

.NET Data Providers

Using LocalDB


Data Sets

Data Tables

Data Views

Interacting with XML Data

Language Integrated Query (LINQ)

Bridging Objects and Data

Using Object Relational Designer

Filtering, Ordering and Aggregation

Inserts, Deletes and Updates


12.  Data Binding

Data Binding Concept

Binding to a Control

Binding to a List

DataGrid and DataView




13. Windows Forms and WPF Interoperation

Windows Presentation Foundation

Extensible Application Markup Language (XAML)

Mixing Forms and WPF Windows

Mixing Controls


Appendix A. Learning Resources

System Requirements


Required software is Visual Studio 2013, which includes LocalDB, a new lightweight version of SQL Server 2012 Express. The free Visual Studio Express 2013 for Windows Desktop can be used on the student computers. It is recommended that the instructor’s computer have Visual Studio Professional 2013 or better.  The operating system should be Windows 7SP1 or more recent. See the appropriate course Setup Guide for details.


A good minimal hardware profile for this course would have a 1.8 GHz or equivalent CPU, 2 GB of RAM, and at least 10 GB of free disk space for tools installation and courseware.