Learn your way! Get started

Developing Apps Using Visual C# 2005

with experts Ken Getz, Robert Green


Course at a glance

Included in these subscriptions:

  • Dev & IT Pro Video
  • Dev & IT Pro Power Pack

Release date 4/17/2006
Level Intermediate
Runtime 24h 8m
Closed captioning N/A
Transcript N/A
eBooks / courseware Included
Hands-on labs Included
Sample code Included
Exams Included
Platform Internet Explorer Only


Enterprise Solutions

Need reporting, custom learning tracks, or SCORM? Learn More



Course description

In this course you will learn how to use Visual Studio 2005 and Visual C# 2005 to build Windows applications to run on the .NET 2.0 platform. You will become familiar with the Windows Forms and Windows Forms controls, focusing on new Visual Studio 2005 features. Access data using ADO.NET and its DataTable, DataReader, DataAdapter, and DataSet classes. Take advantage of new Visual Studio 2005 data binding features, and explore the range of controls and components provided by Visual Studio 2005. Build solid applications using structured exception handling, and debug your applications using new Visual Studio 2005 debugging features. Access legacy code in COM components, Win32 APIs using P/Invoke, and remote code in Web Services. Add professional-looking menus and toolbars using the new ToolStrip controls, and add unprecedented flexibility to your user interfaces using the new container controls. Deploy and maintain your application easier than ever before, taking advantage of Click-Once deployment.

Meet the experts

Ken Getz is a featured instructor for several of our Visual Studio courses. He is a Visual Basic and Visual C# expert and has been recognized multiple times as a Microsoft MVP. Ken is a seasoned instructor, successful consultant, and the author or co-author of several best-selling books. He is a frequent speaker at technical conferences like Tech-Ed, VSLive, and DevConnections and he has written for several of the industry's most-respected publications including Visual Studio Magazine, CoDe Magazine, and MSDN Magazine.

Robert Green is a Visual Studio expert and a featured instructor for several of our Visual Basic and Visual C# courses. He is currently a Technical Evangelist in the Developer Platform and Evangelism (DPE) group at Microsoft. He has also worked for Microsoft on the Developer Tools marketing team and as Community Lead on the Visual Basic team. Robert has several years of consulting experience focused on developer training and is a frequent speaker at technology conferences including TechEd, VSLive, VSConnections, and Advisor Live.

Course outline



Module 1

Overview of Windows Forms (31:23)
  • Introduction (02:13)
  • Create a C# Windows App (02:33)
  • Hide/Show Other Windows (01:26)
  • Set Properties of the Form (04:19)
  • Add Controls to the Form (01:07)
  • Investigate the Snap Lines (00:52)
  • Adjust Controls Sizes/Loc. (00:09)
  • Label AutoSize Property (00:27)
  • TextBox MultiLine Property (00:40)
  • Format the Controls (04:13)
  • Controlling Tab Order (02:02)
  • View the Code (04:49)
  • Dispose Method (01:36)
  • InitializeComponent() Proc. (03:48)
  • Summary (01:03)
Overview of Event Handling (21:17)
  • Introduction (00:41)
  • Adding Event Handling Code (00:15)
  • Rename the Controls (01:19)
  • Adding Code to the Button (01:54)
  • Adding a Menu to the Form (00:34)
  • Component Tray (01:02)
  • Set Properties of the MenuStrip (01:12)
  • Adding Code for the MenuStrip (03:24)
  • Adding Access/Shortcut Keys (03:02)
  • Non-Graphical Components (00:19)
  • Adding a ToolTip Component (01:32)
  • Adding a Timer Component (05:27)
  • Summary (00:29)
Working with Events (46:58)
  • Introduction (01:01)
  • How VB Handles Events (01:20)
  • Working with Events (01:52)
  • Add Button Click Event (03:01)
  • Add Mouse Click Event (01:38)
  • MouseEventArgs Parameter (03:52)
  • Working with Forms (00:51)
  • Using Forms as Dialog Boxes (00:41)
  • Demonstrate a Dialog Form (02:03)
  • Examine the Dialog Form (00:38)
  • Set Dialog Result Properties (02:39)
  • The Using Construct (01:55)
  • Starting the Application (03:01)
  • Selecting an Initial Form (01:04)
  • Event Covers (01:07)
  • Introducing Delegates (01:15)
  • Examine the Click Event (01:13)
  • Examine the MouseClick Event (00:55)
  • Call a Procedure (01:54)
  • Handles Clause in Code (03:23)
  • Handling Multiple Controls (00:42)
  • MC with Single Procedure (04:06)
  • MC with Same Event Handler (02:05)
  • One Event/Multiple Handlers (00:37)
  • AddHandler/RemoveHandler (02:38)
  • Summary (01:15)

Module 2

Form and Control Events (32:43)
  • Introduction (00:57)
  • Explore Form/Control Events (01:46)
  • Form Events (00:43)
  • Investigating Form Events (03:02)
  • Keyboard Events (00:42)
  • KeyPress vs KeyDown/KeyUp (00:59)
  • KeyPress/Up/Down Events (01:05)
  • Investigating Keyboard Events (02:07)
  • View Code for KB Events (04:53)
  • Mouse Events (00:45)
  • MouseMove Event (00:25)
  • MouseUp/Down Events (00:48)
  • Investigating Mouse Events (01:09)
  • Control Events (00:45)
  • Investigating ControlEvents (00:54)
  • Validating User Input (01:26)
  • The Validating Event (00:48)
  • View Validating Event Example (01:26)
  • The ErrorProvider Component (01:34)
  • Creating a Cancel Button (00:40)
  • Error Provider/Cancel Demo (03:45)
  • Summary (01:55)
Label/TextBox/Button Controls (38:03)
  • Introduction (00:42)
  • Label Control (03:17)
  • TextBox Control (08:46)
  • Label/TextBox Demo (03:54)
  • Investigate Label Properties (00:17)
  • Show/Hide a Label Control (01:07)
  • Display Help in a Label (02:32)
  • Change BackColor of TextBox (00:39)
  • Validate Text Length in a TB (01:01)
  • Add Cut/Copy/Paste Features (01:23)
  • Auto Completion for a TextBox (02:22)
  • Button Control (03:49)
  • Button Demo (00:11)
  • Control Button Click (01:17)
  • Button Appearances (00:55)
  • Code to Control Buttons (01:45)
  • Investigate Button Properties (00:27)
  • Images on a Button (00:46)
  • Button Default or Cancel (01:40)
  • Summary (01:03)
Option and List Controls (36:14)
  • Introduction (00:54)
  • CheckBox Control (03:16)
  • RadioButton Control (02:07)
  • CheckBox/RadioButton Demo (02:57)
  • CheckBox Properties (01:55)
  • Is the CheckBox Checked (00:58)
  • RadioButton Selection (00:48)
  • Respond to RadioButton (01:45)
  • ComboBox Control (04:07)
  • ListBox Control (02:04)
  • CheckedListBox Control (02:14)
  • Combo/List/Checked Demo (01:38)
  • Populating a ComboBox (02:17)
  • Populate a ListBox (00:43)
  • Select Items in a ComboBox (01:11)
  • Limit Items to Display (00:37)
  • Select Items in a ListBox (00:18)
  • Multiple Values in a ListBox (02:24)
  • Items in a CheckedListBox (01:43)
  • Items in the CheckedListBox (01:24)
  • Summary (00:43)

Module 3

Additional Common Controls (21:18)
  • Introduction (00:36)
  • LinkLabel Control (01:41)
  • NumericUpDown Control (01:10)
  • Demo (02:45)
  • LinkLabel_ValueChanged (00:27)
  • RadioButton_CheckChanged (01:09)
  • PictureBox Control (03:22)
  • ProgressBar Control (01:10)
  • PictureBox/ProgressBar Demo (00:36)
  • Change the Image (00:32)
  • Load an Image (01:07)
  • Load Image Asynchronously (01:37)
  • Methods to Display Progress (03:44)
  • Summary (01:16)
Intro to Exception Handling (27:01)
  • Introduction (01:13)
  • Exception Handling in .NET (01:32)
  • VB 6 vs .NET (01:12)
  • Structured Exception Handling Example (02:28)
  • No Error Handling (00:06)
  • Exception Assistant (00:41)
  • Disable Exception Assistant (00:36)
  • Error that the User Sees (01:17)
  • Add a Simple Try/Catch Block (02:56)
  • Unhandled Exceptions (01:05)
  • Using an Exception Object (03:17)
  • Catching Specific Exceptions (00:37)
  • Multiple Exceptions (01:43)
  • Inheritance Hierarchy (00:44)
  • Specific Exception Code (05:47)
  • Summary (01:38)
Creating/Throwing Exceptions (28:02)
  • Introduction (01:13)
  • Using the Throw Keyword (01:31)
  • Searching for Handlers (00:12)
  • Exception Handling Options (01:03)
  • Throwing Exceptions (00:37)
  • Throw an Exception Demo (02:07)
  • Inner Exception Property (02:11)
  • Running Code Unconditionally (00:17)
  • Finally and/or Catch (00:56)
  • Finally Block Code Demo (03:31)
  • Implement the Using Block (02:09)
  • Unhandled Exceptions (00:53)
  • Set Up UE Demo (01:20)
  • Run UE Demo (01:49)
  • Creating an Exception (01:13)
  • Exception Class Demo (05:24)
  • Summary (01:29)

Module 4

Strings (25:40)
  • Introduction (00:47)
  • Working with Text (01:21)
  • String Class (00:42)
  • Creating Strings (00:36)
  • String Properties (00:36)
  • Shared/Static String Methods (01:10)
  • Instance String Methods (00:43)
  • Work with Strings Demo (01:31)
  • String Properties Demo (01:19)
  • Shared/Static Methods Demo (06:07)
  • String Methods Demo (01:55)
  • StringBuilder Class (01:37)
  • Multiple Line Text Output (00:42)
  • StringBuilder Class (01:37)
  • StringBuilder Class Demo (01:46)
  • Add Up ML of Text Demo (01:00)
  • Show StringBuilder Properties (00:48)
  • Summary (01:16)
Dates and Times (31:21)
  • Introduction (00:43)
  • Working with Dates/Times (01:23)
  • DateTime Constructors (01:28)
  • Shared/Static Members (00:36)
  • Simple Properties (00:23)
  • Conversion Methods (01:04)
  • Calculation Methods (00:17)
  • Shared Static Methods (00:28)
  • Localized Date Information (00:30)
  • Run Dates and Times Demo (05:53)
  • View the Code for the Demo (01:11)
  • Date/Time Methods Demo (03:52)
  • Date/Time Globalization Demo (02:52)
  • Handling Elapsed Time (00:51)
  • Creating TimeSpan Values (00:52)
  • TimeSpan Instance Members (00:33)
  • TimeSpan Fields (00:22)
  • Measuring Elapsed Time (00:48)
  • TimeSpan Demo (03:53)
  • StopWatch Class Demo (00:33)
  • StopWatch Class Code (01:31)
  • Summary (01:08)
Accessing Data (33:06)
  • Introduction (00:59)
  • Overview of ADO.NET (02:05)
  • ADO.NET Classes (00:57)
  • OleDb vs SqlClient (00:47)
  • ADO.NET Architecture (05:23)
  • DataTable Object (01:25)
  • DataTable Object Demo (04:39)
  • Connecting to a Data Source (00:52)
  • Setting Up Connections (02:32)
  • Config File Conn Strings (03:39)
  • Making the Connections (00:39)
  • Exception Handling (00:15)
  • Use the Using Block (00:54)
  • Cmds/Cmd Methods (01:42)
  • Reading Data (01:38)
  • Close the Connection (00:47)
  • SqlDataReader Demo (02:59)
  • Summary (00:44)

Module 5

Working with Data (24:33)
  • Introduction (00:52)
  • Using a Data Adapter (01:30)
  • Getting Data into a DataSet (01:52)
  • Filling a DataSet (01:29)
  • DataTable Rows and Columns (00:30)
  • Using DataRows (00:30)
  • DataColumns and Schema (00:49)
  • Retrieve OleDb DataSet Demo (03:13)
  • SQL DataTable Demo (01:44)
  • Choosing ADO.NET Provider (00:46)
  • SQL Server Data Provider (00:53)
  • OLE DB .NET Data Provider (01:05)
  • ODBC Data Provider (00:28)
  • Multiple Providers (01:20)
  • Writing Code for MP (05:47)
  • Summary (01:37)
Data Binding (27:39)
  • Introduction (01:34)
  • Data Binding Basics (00:53)
  • Creating a Data Source (00:49)
  • Data Source Config Wizard (00:44)
  • Data Sources Window (01:02)
  • Creating Data-Bound Forms (01:04)
  • Data Binding Demo (00:13)
  • Create a Data Source (04:43)
  • Data Sources Window (00:34)
  • Create Data Bound Form (02:40)
  • Components and Controls (00:20)
  • The DataSet (00:43)
  • The TableAdapter (01:29)
  • View Code that Binds the Data (01:40)
  • View Code to Save an Entry (01:14)
  • BindingSource Component (01:24)
  • BindingNavigator Control (00:52)
  • Investigate the Components (01:34)
  • Investigate the TableAdapter (02:11)
  • Summary (01:45)
Relationships/Lookup Tables (15:25)
  • Introduction (00:42)
  • Data From Related Tables (01:05)
  • Categories/Products Form (02:55)
  • Data Components (01:09)
  • BindingSource Properties (01:37)
  • Lookup Tables Data (02:25)
  • Modify Form with DLT (05:11)
  • Summary (00:18)
Searching and Filtering (25:05)
  • Introduction (00:45)
  • Add Search Capabilities (00:42)
  • TableAdapter Query Config (01:18)
  • Call the TableAdapter Query (00:48)
  • Search Criteria Builder (01:04)
  • Search Capabilities Demo (01:09)
  • Add Queries to TableAdapter (02:32)
  • Add Search Controls to Form (02:03)
  • Add Wildcard to Query (03:00)
  • Filtering by Values (00:42)
  • Add Category Lookup to Form (06:06)
  • Add Code for the Lookup (03:48)
  • Summary (01:01)

Module 6

Data Validation (33:20)
  • Introduction (00:41)
  • Overview of Data Validation (00:42)
  • Determine User Changes (00:34)
  • Validate Data at Form Level (00:55)
  • Form Level Validation Demo (02:58)
  • Validate User Entered Data (03:04)
  • Validate Data Level Data (01:39)
  • Data Level Validation Demo (01:51)
  • ErrorProvider Component (01:15)
  • Add DataSet Data Validation (04:17)
  • HasErrors Property (06:14)
  • Working with Local Data (06:08)
  • Summary (02:57)
Binding Navigator and Source (34:50)
  • Introduction (01:01)
  • BindingNavigator Control (01:59)
  • Built-In/Custom Functionality (01:15)
  • Add BindingNavigator to Form (00:25)
  • Add BindingNavigator Demo (05:39)
  • BindingSource Component (00:57)
  • BindingSource Data Navigation (01:19)
  • BSD Manipulation (01:37)
  • BindingSource Sorting/Filtering (00:57)
  • BindingSource Demo (05:47)
  • Working with Underlying Data (01:55)
  • Copying Data Demo (06:19)
  • Working with Related Data (01:35)
  • Related Data Demo (03:07)
  • Summary (00:52)
DataGridView Control (35:40)
  • Introduction (01:39)
  • DataGridView Control (00:44)
  • Customize Data Display (00:29)
  • DataGridView Demo (08:03)
  • Formatting Cells at Runtime (01:07)
  • CellFormatting Event Demo (00:32)
  • CellFormatting Event Code (04:26)
  • Displaying Calculated Values (00:57)
  • Display Calc. Value Demo (00:45)
  • Display Calc. Value Code (03:48)
  • Displaying Images (00:50)
  • Displaying Images Demo (00:49)
  • Displaying Images Code (04:07)
  • Add Controls to DataGridView (01:00)
  • Add Controls Demo (00:52)
  • Add Controls Code (04:57)
  • Summary (00:26)

Module 7

The ReportViewer Control (15:14)
  • Introduction (01:12)
  • ReportViewer Control (00:36)
  • Creating and Viewing Reports (00:34)
  • Customer Report Demo (00:41)
  • Create a Report Manually (02:17)
  • Set Sorting/Grouping (01:22)
  • Edit an Expression (01:46)
  • Add ReportViewer to Form (01:38)
  • Run the New Report (00:40)
  • Review of Creating a Report (00:55)
  • Local/Rmt. Report Processing (02:02)
  • Summary (01:26)
Files and Folders (23:04)
  • Introduction (00:50)
  • System.IO Namespace (01:00)
  • Selecting Files (01:00)
  • Filter Property (00:56)
  • Other Properties (00:54)
  • Show the Dialog Box (00:41)
  • Need to Retrieve Multiple Files (00:20)
  • Events of the OpenFileDialog (00:53)
  • SaveFileDialog Control (00:33)
  • OpenFileDialog Demo (01:09)
  • View OpenFileDialog Code (03:19)
  • Browsing for Folders (00:27)
  • Using FolderBrowserDialog (00:54)
  • FolderBrowserDialog Code (02:26)
  • FolderBrowserDialog Demo (01:24)
  • Handling Path Information (00:50)
  • Path Class Demo (04:05)
  • Summary (01:14)
Directories and Files (31:46)
  • Introduction (00:31)
  • Working with Directories/Files (00:25)
  • Why Two Sets of Classes? (01:38)
  • Retrieving Drive Info. (00:28)
  • DriveInfo Class Properties (00:58)
  • DriveInfo Class Demo (01:07)
  • View DriveInfo Class Code (02:41)
  • Investigating the Objects (01:00)
  • FileSystemInfo Class (00:43)
  • Methods of the Directory Class (01:02)
  • Directory Class Demo (02:56)
  • Filling the TreeView (05:20)
  • Display File/Folder Info (00:21)
  • View Display File/Folder Code (03:06)
  • Stream-Based Objects (00:44)
  • Alternate Solutions (00:40)
  • Read/Write Text File Demo (00:59)
  • Read/Write Text File Code (05:48)
  • Summary (01:09)

Module 8

Application Properties (07:50)
  • Introduction (00:50)
  • Application Properties (01:10)
  • Assembly Information (01:33)
  • Associate an Icon (00:24)
  • Set the StartUp Object (00:02)
  • ProjectSettings Properties (00:19)
  • Edit Assembly Information (01:26)
  • Build the Project (00:11)
  • View the Project Files Created (00:28)
  • Change the Assembly Name (00:56)
  • Summary (00:25)
Compilation and Debugging (28:10)
  • Introduction (01:11)
  • Compilation Properties (01:22)
  • Show Compilation Properties (03:14)
  • Conditional Compilation (01:09)
  • Conditional Compilation Demo (06:41)
  • Compiler Errors and Warnings (00:51)
  • Compiler Error Demo (04:46)
  • Build Events (01:34)
  • Debugging Properties (00:17)
  • Start Action (02:11)
  • Start Action Demo (02:19)
  • Start Options (01:11)
  • Enable Debuggers (00:54)
  • Summary (00:24)
Ref. Resources/Settings (27:46)
  • Introduction (00:59)
  • Project References (00:30)
  • Adding References (00:48)
  • Adding References Demo (05:25)
  • Project Resources (02:09)
  • Adding Resources Demo (04:32)
  • Project Settings (02:05)
  • User Customization Demo (08:56)
  • Summary (02:17)

Module 9

Breakpoints (33:08)
  • Introduction (00:57)
  • Debugging Applications (01:09)
  • Setting/Removing Breakpoints (00:52)
  • Continuing Program Execution (03:33)
  • Setting Conditional Breakpoints (01:50)
  • Specify a Breakpoint Hit Count (02:44)
  • Breakpoints within a Function (01:14)
  • Breakpoints Window (00:35)
  • Breaking on Exceptions (01:58)
  • Debugging Code in Assemblies (01:02)
  • Debug in Other Language (00:44)
  • Set/Rem. Breakpoints Demo (04:09)
  • Conditional Breakpoint Demo (03:36)
  • Breakpoint Hit Count Demo (01:07)
  • Breakpoint in a Function Demo (02:09)
  • Debug Code in Asm. Demo (02:03)
  • Debug Other Language Demo (02:38)
  • Summary (00:40)
Expressions/Edit and Continue (24:04)
  • Introduction (00:59)
  • Evaluating Expressions (00:28)
  • DataTips and Visualizers (01:58)
  • Debugging Windows (00:56)
  • Edit and Continue (03:13)
  • DataTips/Visualizers Demo (07:13)
  • Debugging Windows Demo (04:13)
  • Edit and Continue Demo (04:22)
  • Summary (00:37)
Tracing (27:26)
  • Introduction (00:52)
  • Tracing Applications (01:10)
  • Trace Sources (01:14)
  • Trace Switches (00:31)
  • Trace Listeners (00:32)
  • Trace Filtering (01:59)
  • Use Config Files for Tracing (01:27)
  • Tracing in Code Demo (05:20)
  • Add Trace Listeners (04:03)
  • Trace Filtering Demo (03:23)
  • Tracing in Config Code (01:46)
  • Use Config to Control Tracing (04:38)
  • Summary (00:26)

Module 10

Containers I (31:55)
  • Introduction (00:57)
  • Introducing Container Controls (03:09)
  • Working w/ Container Controls (01:08)
  • Examine a Switchboard Form (02:46)
  • Loading ComboBoxes (02:30)
  • GroupBox Control (00:56)
  • GroupBox Control Demo (03:56)
  • Panel Control (00:29)
  • Panel Control Demo (06:10)
  • SplitContainer Control (01:23)
  • SplitContainer Control Demo (06:13)
  • SplitContainer Control Events (01:11)
  • Summary (01:03)
Containers II (47:46)
  • Introduction (01:08)
  • TabControl Control (00:34)
  • TabControl Demo (01:51)
  • Add Tab Pages (00:35)
  • TabPage Collection Editor (01:21)
  • Working with Tab Pages (00:14)
  • Align./Appearance/SizeMode (03:34)
  • ShowToolTips/Info Properties (01:28)
  • TabControl Events (01:45)
  • FlowLayoutPanel Control (00:45)
  • FlowLayoutPanel Ctrl. Demo (02:58)
  • Working with FlowLayoutPanel (04:05)
  • Document Outline Window (00:56)
  • FlowDirection/WrapContents (02:32)
  • AutoScroll/AutoScrollMargin (00:48)
  • FlowBreak Extended Prop. (02:59)
  • TableLayoutPanel Control (00:48)
  • TableLayoutPanel Ctrl. Demo (03:29)
  • Setting Row/Column Styles (01:36)
  • Positioning New Controls (01:22)
  • Adding Controls Prog. (03:28)
  • Working with Other Properties (01:30)
  • Laying out Columns or Rows (01:51)
  • TableLayoutPanel Control Ext. (02:30)
  • TableLayoutPanel Methods (02:15)
  • Summary (01:11)

Module 11

Menus and Toolbars (39:58)
  • Introduction (01:43)
  • Introducing the Strips (02:51)
  • Demo the New Strip Controls (04:47)
  • Adding Menu Images (02:28)
  • Using the Automatic Menus (01:30)
  • ToolStrip Control (01:34)
  • ToolStrip ItemClicked Event (03:53)
  • StatusStrip Control (02:07)
  • ToolStripStatusLabel Format (00:39)
  • BorderStyle Property (00:52)
  • BorderSides Property (00:31)
  • Spring Property (00:45)
  • ToolStripStatusLabel Demo (02:28)
  • ContextMenuStrip Control (01:13)
  • ContextMenuStrip ItemClicked (01:59)
  • ToolStripContainer Control (00:56)
  • ToolStripContainer Demo (03:34)
  • Working with a ToolStripItem (01:42)
  • ToolStripItem Display Styles (01:06)
  • ToolStripItem DS Demo (02:02)
  • Summary (01:06)
Advanced ToolStrip Concepts (25:01)
  • Introduction (00:57)
  • Runtime Customizations (01:13)
  • Allow Customizations Demo (05:16)
  • AllowItemReorder Issues (01:08)
  • Save/Restore Customizations (01:17)
  • Save/Restore Cust. Demo (02:31)
  • ToolStrip Layout Issues (01:17)
  • LayoutStyle Property (01:20)
  • Layout Issues/Overflow Demo (02:54)
  • Working with the Strips (00:56)
  • RichTextBox Demo (02:55)
  • WebBrowser Demo (01:56)
  • Summary (01:15)
MDI - Parent and Child Forms (14:04)
  • Introduction (00:54)
  • MDI Applications (00:41)
  • Child Windows (00:37)
  • Creating an MDI Application (00:26)
  • MDI Parent and Child Forms (00:28)
  • MDI Parent Form (00:32)
  • MDI Child Forms (00:45)
  • Managing Open Windows (00:35)
  • Creating a Window List (00:48)
  • Parent/Child Forms Demo (06:06)
  • Arranging Windows (01:32)
  • Summary (00:35)
MDI - Merging Menus (17:20)
  • Introduction (01:26)
  • Managing Menus (02:45)
  • Merge Parent/Child File Menus (01:02)
  • MergeIndex/MergeAction (04:07)
  • Design Considerations (03:09)
  • Enable/Disable Child Menus (02:46)
  • Summary (02:00)

Module 12

MDI - Open Forms (23:21)
  • Introduction (00:45)
  • Working with Open Forms (01:27)
  • MdiChildActivate Event (01:02)
  • Handling Edit Menu Items (00:53)
  • Handling Format Menu Items (00:56)
  • Passing Data (01:10)
  • Handling Form Closing (01:00)
  • Using Open Forms Demo (01:02)
  • MdiChildActivate Event Code (03:07)
  • EditCommands Code (01:58)
  • Format Menu Items Code (01:30)
  • SendToItem Code (03:40)
  • Form Closing Code (02:40)
  • Summary (02:05)
NotifyIcon/WebBrowser (33:25)
  • Introduction (01:03)
  • Introducing Complex Controls (01:28)
  • NotifyIcon Control (00:38)
  • NotifyIcon Control Demo (02:15)
  • Properties of NotifyIcon Control (02:00)
  • Handling the Form Closing (01:03)
  • Handling Events (00:56)
  • Handling Menu Items (02:48)
  • WebBrowser Control (01:28)
  • WebBrowser Control Demo (03:23)
  • Investigate the Sample Form (02:50)
  • WebBrowser Navigation (02:56)
  • WebBrowser Dialog Boxes (00:52)
  • React to Environment Changes (01:23)
  • Updating Status Text (01:39)
  • Updating the Progress Bar (02:32)
  • Updating the Title Bar (00:35)
  • Updating the Address TextBox (00:33)
  • Back/Forward Buttons (01:09)
  • Summary (01:47)
MaskedTextBox (24:29)
  • Introduction (00:55)
  • MaskedTextBox Control (01:11)
  • MaskedTextBox Demo (04:42)
  • Mask Characters (03:48)
  • Investigate Properties (06:15)
  • TextMaskFormat (01:07)
  • CutCopyMaskFormat (00:54)
  • InsertKeyMode (00:57)
  • MaskInputRejected Event (00:42)
  • Status Properties (02:52)
  • Summary (01:01)

Module 13

RichTextBox (32:17)
  • Introduction (00:54)
  • RichTextBox Control (01:03)
  • RichTextBox Demo (04:41)
  • View Code Behind Form (00:33)
  • Handling State (07:45)
  • Undo and Redo (01:48)
  • Working with the Clipboard (01:19)
  • Working with Fonts and Styles (06:13)
  • Handling Font Styles (03:02)
  • Foreground/Background Colors (00:42)
  • Modifying Alignment (00:17)
  • Adding Bullets and Indents (01:03)
  • Zoom, Links, and More (01:56)
  • Summary (00:55)
TreeView/ListView (49:28)
  • Introduction (01:06)
  • TreeView & ListView Controls (01:43)
  • TreeView/ListView Demo (05:02)
  • TreeView Style Properties (03:53)
  • Add Nodes to TreeView (04:03)
  • Expanding a Node (05:25)
  • ListView Control (01:02)
  • ListView Display Properties (04:15)
  • Setting Up the Images (02:48)
  • Filling the List of Files (01:52)
  • Working with ListView Items (00:58)
  • SubItems (01:29)
  • Item Grouping Demo (03:39)
  • Showing Items in Groups (03:43)
  • Sorting the Columns (01:50)
  • ListViewStringSorter Code (05:21)
  • Summary (01:12)
MonthCalendar/DateTimePick. (17:36)
  • Introduction (00:52)
  • MonthCalendar/DateTimePick. (00:43)
  • DateTimePicker Demo (00:18)
  • Control Date/Time Format (04:08)
  • Selecting Min and Max Dates (00:29)
  • Format DateTimePicker (01:21)
  • MonthCalendar Control Demo (00:15)
  • Limiting Input Dates (00:42)
  • Modify the Control"s Display (01:00)
  • Working with Selected Dates (00:55)
  • Handling Bolded Dates (00:56)
  • Setting First Day of the Week (00:27)
  • DisplaySelected Code (01:40)
  • Handling Bolded Dates Code (02:38)
  • Summary (01:07)

Module 14

Creating Custom Controls I (31:00)
  • Introduction (00:56)
  • Creation in Windows Forms (02:06)
  • Inherit from an Existing Control (00:56)
  • Required Steps (01:16)
  • TextBox w/ Required Input (01:27)
  • Custom Control Demo (04:27)
  • Code Snippets (07:48)
  • Adding the Finishing Touches (01:06)
  • Assign a Toolbox Bitmap (01:44)
  • Hiding a Property (00:20)
  • Assign the Property Category (00:18)
  • Adding a Description (00:14)
  • Adding a Bitmap Image Demo (04:03)
  • Hiding a Property Demo (00:58)
  • Assign the Category Demo (00:51)
  • Add a Description Demo (01:06)
  • Summary (01:16)
Creating Custom Controls II (41:20)
  • Introduction (01:22)
  • Inherit from the Control Base (00:32)
  • Draw Control - Required Steps (00:23)
  • Control Properties (00:31)
  • Investigate the Sample (05:36)
  • OnPaint Procedure (04:35)
  • Handling Resizing (00:58)
  • Default Values/Serial. Prop. (01:48)
  • Working with Other Types (02:55)
  • Raising Events (03:18)
  • Hiding Properties (01:26)
  • Adding Ease-of-Use Features (01:25)
  • Creating Composite Controls (01:20)
  • Comp. Ctrl. - Required Steps (01:17)
  • Investigate Sample Control (00:18)
  • Members of the Sample Ctrl. (01:07)
  • Designer Support for Prop. (01:12)
  • Explore Properties (01:30)
  • Setting Default Control Text (00:38)
  • Serializing the Text Property (03:09)
  • Handling Events (02:46)
  • Data Binding (01:56)
  • Summary (01:08)
Components I (35:17)
  • Introduction (01:17)
  • Introducing Components (02:22)
  • Adding Components to Form (00:25)
  • Using a Component Demo (04:20)
  • Timer Component (02:05)
  • Using the Timer Component (03:13)
  • BackgroundWorker Comp. (01:27)
  • Demo w/o BackgroundWorker (01:17)
  • Introducing Multi-Threading (00:32)
  • Multi-Threading Rule (01:39)
  • BackgroundWorker Members (00:56)
  • View Code Without BW (02:32)
  • Demo Using the BW (00:52)
  • With BackgroundWorker Code (05:43)
  • View Cancel Button Code (02:45)
  • Sequence of Events (01:45)
  • Summary (01:59)

Module 15

Components II (37:43)
  • Introduction (00:52)
  • FileSystemWatcher Comp. (01:22)
  • FileSystemWatcher (01:51)
  • FileSystemWatcher Properties (01:31)
  • FileSystemWatcher Events (00:37)
  • FileSystemWatcher Code (01:55)
  • PerformanceCounter Comp. (00:55)
  • Work with PERFMON (02:17)
  • Retrieving Values with PC (00:35)
  • PerformanceCounter Demo (04:45)
  • Creating Perf. Counters (01:40)
  • Using the PerformanceCounter (04:31)
  • Process Component (00:44)
  • Process Component Properties (03:14)
  • Using the Process Component (01:23)
  • Process Component Methods (00:26)
  • Start a Process and React (02:23)
  • Application.Exited Event (02:35)
  • Work with Multiple Processes (03:30)
  • Summary (00:28)
Components III (24:57)
  • Introduction (00:31)
  • ServiceController Component (00:31)
  • Using Services.msc (00:40)
  • Use the SC Component (02:30)
  • Interact with Windows Services (01:36)
  • Working with Services Demo (01:01)
  • Working with Services Code (03:50)
  • EventLog Component (00:41)
  • Event Log Concepts (00:57)
  • View the Event Logs (00:42)
  • Using the EventLog Comp. (01:53)
  • Investigating the Sample Form (01:51)
  • View Form Loading Code (00:26)
  • Selecting an Event Log (00:39)
  • Retrieving Event Log Entries (00:46)
  • Fill Information about the Entry (00:00)
  • Writing a New Event Log Entry (03:47)
  • Work with the Server Explorer (01:24)
  • Summary (01:02)
Calling COM from .NET (30:34)
  • Introduction (01:07)
  • COM and .NET (02:46)
  • Managed/Unmanaged Code (00:49)
  • COM Interoperability (00:32)
  • Calling COM Obj. from .NET (01:10)
  • Calling a COM DLL from .NET (00:58)
  • Interop Assemblies (02:52)
  • COM DLL from .NET Demo (11:08)
  • Automate Excel Demo (00:55)
  • Add a Reference to Excel (01:41)
  • Exporting Data to Excel (05:36)
  • Summary (00:55)

Module 16

Calling .NET from COM (15:40)
  • Introduction (00:33)
  • Calling .NET Assemblies (00:53)
  • Creating COM DLLs in VS (00:29)
  • Call the .NET DLL from COM (01:02)
  • Creating a COM DLL Demo (02:47)
  • GUIDs with guidgen.exe (01:35)
  • Configuring for COM Interop (00:52)
  • Calling the .NET DLL from VB6 (01:55)
  • Creating Wrappers for F.C. (00:42)
  • Creating Wrappers Demo (04:19)
  • Summary (00:28)
P/Invoke and Web Services (21:01)
  • Introduction (00:53)
  • Using Platform Invoke (01:40)
  • Call Win. API from .NET Demo (05:58)
  • Web Services (02:10)
  • Creating a Web Service (00:26)
  • Adding a Project Reference (00:16)
  • Creating a Web Service Demo (04:17)
  • Calling a Web Service (03:17)
  • Summary (02:00)
Publishing (14:42)
  • Introduction (02:08)
  • Publishing an Application (01:19)
  • Using the Publish Wizard (00:17)
  • Installing the Application (00:56)
  • Offline Applications (00:35)
  • Publish/Install Locations (01:03)
  • ClickOnce Deployment Demo (03:27)
  • Install the Application (03:01)
  • Uninstall the Application (00:58)
  • Summary (00:54)
Publishing Options (34:16)
  • Introduction (00:31)
  • Setting Publish Options (00:31)
  • Publish Options Dialog Box (00:54)
  • Prerequisites Dialog Box (01:37)
  • App. Files Dialog Box (00:44)
  • Updating a Deployed App. (00:40)
  • App. Updates Dialog Box (00:55)
  • Update a Deployed App. Demo (07:54)
  • Update the Application (02:03)
  • Publish the Application (01:32)
  • Make it a Mandatory Update (01:55)
  • Publish: What Happens (02:34)
  • Deployment Manifest (01:48)
  • Application Manifest (01:00)
  • ClickOnce Cache (01:44)
  • View ClickOnce Files Created (03:09)
  • View a Deployment Manifest (01:52)
  • View an Application Manifest (02:00)
  • Summary (00:44)
ClickOnce Security (16:35)
  • Introduction (01:19)
  • ClickOnce and Security (01:22)
  • Setting Permissions (00:34)
  • Permissions Calculator (00:36)
  • App. Using Partial Trust (05:06)
  • System.Deployment NS (00:45)
  • Use Deployment Classes (05:26)
  • Summary (01:25)