Developing Apps Using Visual C# 2005 page 1

Meet the expert: 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 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.

Runtime: 24:08:16

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 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.

Course outline:

Overview of Windows Forms • Adding Code for the MenuStrip • Examine the MouseClick Event • Investigating ControlEvents • Introduction • Adding Access/Shortcut Keys • Call a Procedure • Validating User Input • Create a C# Windows App • Non-Graphical Components • Handles Clause in Code • The Validating Event • Hide/Show Other Windows • Adding a ToolTip Component • Handling Multiple Controls • View Validating Event Example • Set Properties of the Form • Adding a Timer Component • MC with Single Procedure • The ErrorProvider Component • Add Controls to the Form • Summary • MC with Same Event Handler • Creating a Cancel Button • Investigate the Snap Lines • One Event/Multiple Handlers • Error Provider/Cancel Demo • Adjust Controls Sizes/Loc. Working with Events • AddHandler/RemoveHandler • Summary • Label AutoSize Property • Introduction • Summary • TextBox MultiLine Property • How VB Handles Events Label/TextBox/Button Controls • Format the Controls • Working with Events Form and Control Events • Introduction • Controlling Tab Order • Add Button Click Event • Introduction • Label Control • View the Code • Add Mouse Click Event • Explore Form/Control Events • TextBox Control • Dispose Method • MouseEventArgs Parameter • Form Events • Label/TextBox Demo • InitializeComponent() Proc. • Working with Forms • Investigating Form Events • Investigate Label Properties • Summary • Using Forms as Dialog Boxes • Keyboard Events • Show/Hide a Label Control • Demonstrate a Dialog Form • KeyPress vs KeyDown/KeyUp • Display Help in a Label Overview of Event Handling • Examine the Dialog Form • KeyPress/Up/Down Events • Change BackColor of TextBox • Introduction • Set Dialog Result Properties • Investigating Keyboard Events • Validate Text Length in a TB • Adding Event Handling Code • The Using Construct • View Code for KB Events • Add Cut/Copy/Paste Features • Rename the Controls • Starting the Application • Mouse Events • Auto Completion for a TextBox • Adding Code to the Button • Selecting an Initial Form • MouseMove Event • Button Control • Adding a Menu to the Form • Event Covers • MouseUp/Down Events • Button Demo • Component Tray • Introducing Delegates • Investigating Mouse Events • Control Button Click • Set Properties of the MenuStrip • Examine the Click Event • Control Events • Button Appearances

(Continued on page 2)

LearnNowOnline www.LearnNowOnline.com powered by Developing Apps Using Visual C# 2005 page 2

• Code to Control Buttons • Unhandled Exceptions • Shared Static Methods • Data Binding Basics • Investigate Button Properties • Using an Exception Object • Localized Date Information • Creating a Data Source • Images on a Button • Catching Specific Exceptions • Run Dates and Times Demo • Data Source Config Wizard • Button Default or Cancel • Multiple Exceptions • View the Code for the Demo • Data Sources Window • Summary • Inheritance Hierarchy • Date/Time Methods Demo • Creating Data-Bound Forms • Specific Exception Code • Date/Time Globalization Demo • Data Binding Demo Option and List Controls • Summary • Handling Elapsed Time • Create a Data Source • Introduction • Creating TimeSpan Values • Data Sources Window • CheckBox Control Creating/Throwing Exceptions • TimeSpan Instance Members • Create Data Bound Form • RadioButton Control • Introduction • TimeSpan Fields • Components and Controls • CheckBox/RadioButton Demo • Using the Throw Keyword • Measuring Elapsed Time • The DataSet • CheckBox Properties • Searching for Handlers • TimeSpan Demo • The TableAdapter • Is the CheckBox Checked • Exception Handling Options • StopWatch Class Demo • View Code that Binds the Data • RadioButton Selection • Throwing Exceptions • StopWatch Class Code • View Code to Save an Entry • Respond to RadioButton • Throw an Exception Demo • Summary • BindingSource Component • ComboBox Control • Inner Exception Property • BindingNavigator Control • ListBox Control • Running Code Unconditionally Accessing Data • Investigate the Components • CheckedListBox Control • Finally and/or Catch • Introduction • Investigate the TableAdapter • Combo/List/Checked Demo • Finally Block Code Demo • Overview of ADO.NET • Summary • Populating a ComboBox • Implement the Using Block • ADO.NET Classes • Populate a ListBox • Unhandled Exceptions • OleDb vs SqlClient Relationships/Lookup Tables • Select Items in a ComboBox • Set Up UE Demo • ADO.NET Architecture • Introduction • Limit Items to Display • Run UE Demo • DataTable Object • Data From Related Tables • Select Items in a ListBox • Creating an Exception • DataTable Object Demo • Categories/Products Form • Multiple Values in a ListBox • Exception Class Demo • Connecting to a Data Source • Data Components • Items in a CheckedListBox • Summary • Setting Up Connections • BindingSource Properties • Items in the CheckedListBox • Config File Conn Strings • Lookup Tables Data • Summary Strings • Making the Connections • Modify Form with DLT • Introduction • Exception Handling • Summary Additional Common Controls • Working with Text • Use the Using Block • Introduction • String Class • Cmds/Cmd Methods Searching and Filtering • LinkLabel Control • Creating Strings • Reading Data • Introduction • NumericUpDown Control • String Properties • Close the Connection • Add Search Capabilities • Demo • Shared/Static String Methods • SqlDataReader Demo • TableAdapter Query Config • LinkLabel_ValueChanged • Instance String Methods • Summary • Call the TableAdapter Query • RadioButton_CheckChanged • Work with Strings Demo • Search Criteria Builder • PictureBox Control • String Properties Demo Working with Data • Search Capabilities Demo • ProgressBar Control • Shared/Static Methods Demo • Introduction • Add Queries to TableAdapter • PictureBox/ProgressBar Demo • String Methods Demo • Using a Data Adapter • Add Search Controls to Form • Change the Image • StringBuilder Class • Getting Data into a DataSet • Add Wildcard to Query • Load an Image • Multiple Line Text Output • Filling a DataSet • Filtering by Values • Load Image Asynchronously • StringBuilder Class • DataTable Rows and Columns • Add Category Lookup to Form • Methods to Display Progress • StringBuilder Class Demo • Using DataRows • Add Code for the Lookup • Summary • Add Up ML of Text Demo • DataColumns and Schema • Summary • Show StringBuilder Properties • Retrieve OleDb DataSet Demo Intro to Exception Handling • Summary • SQL DataTable Demo Data Validation • Introduction • Choosing ADO.NET Provider • Introduction • Exception Handling in .NET Dates and Times • SQL Server Data Provider • Overview of Data Validation • VB 6 vs .NET • Introduction • OLE DB .NET Data Provider • Determine User Changes • Structured Exception Handling • Working with Dates/Times • ODBC Data Provider • Validate Data at Form Level Example • DateTime Constructors • Multiple Providers • Form Level Validation Demo • No Error Handling • Shared/Static Members • Writing Code for MP • Validate User Entered Data • Exception Assistant • Simple Properties • Summary • Validate Data Level Data • Disable Exception Assistant • Conversion Methods • Data Level Validation Demo • Error that the User Sees • Calculation Methods Data Binding • ErrorProvider Component • Add a Simple Try/Catch Block • Introduction (Continued on page 3)

LearnNowOnline www.LearnNowOnline.com powered by Developing Apps Using Visual C# 2005 page 3

• Add DataSet Data Validation • System.IO Namespace • Show Compilation Properties • Tracing Applications • HasErrors Property • Selecting Files • Conditional Compilation • Trace Sources • Working with Local Data • Filter Property • Conditional Compilation Demo • Trace Switches • Summary • Other Properties • Compiler Errors and Warnings • Trace Listeners • Show the Dialog Box • Compiler Error Demo • Trace Filtering Binding Navigator and Source • Need to Retrieve Multiple Files • Build Events • Use Config Files for Tracing • Introduction • Events of the OpenFileDialog • Debugging Properties • Tracing in Code Demo • BindingNavigator Control • SaveFileDialog Control • Start Action • Add Trace Listeners • Built-In/Custom Functionality • OpenFileDialog Demo • Start Action Demo • Trace Filtering Demo • Add BindingNavigator to Form • View OpenFileDialog Code • Start Options • Tracing in Config Code • Add BindingNavigator Demo • Browsing for Folders • Enable Debuggers • Use Config to Control Tracing • BindingSource Component • Using FolderBrowserDialog • Summary • Summary • BindingSource Data Navigation • FolderBrowserDialog Code • BSD Manipulation • FolderBrowserDialog Demo Ref. Resources/Settings Containers I • BindingSource Sorting/Filtering • Handling Path Information • Introduction • Introduction • BindingSource Demo • Path Class Demo • Project References • Introducing Container Controls • Working with Underlying Data • Summary • Adding References • Working w/ Container Controls • Copying Data Demo • Adding References Demo • Examine a Switchboard Form • Working with Related Data Directories and Files • Project Resources • Loading ComboBoxes • Related Data Demo • Introduction • Adding Resources Demo • GroupBox Control • Summary • Working with Directories/Files • Project Settings • GroupBox Control Demo • Why Two Sets of Classes? • User Customization Demo • Panel Control DataGridView Control • Retrieving Drive Info. • Summary • Panel Control Demo • Introduction • DriveInfo Class Properties • SplitContainer Control • DataGridView Control • DriveInfo Class Demo Breakpoints • SplitContainer Control Demo • Customize Data Display • View DriveInfo Class Code • Introduction • SplitContainer Control Events • DataGridView Demo • Investigating the Objects • Debugging Applications • Summary • Formatting Cells at Runtime • FileSystemInfo Class • Setting/Removing Breakpoints • CellFormatting Event Demo • Methods of the Directory Class • Continuing Program Execution Containers II • CellFormatting Event Code • Directory Class Demo • Setting Conditional Breakpoints • Introduction • Displaying Calculated Values • Filling the TreeView • Specify a Breakpoint Hit Count • TabControl Control • Display Calc. Value Demo • Display File/Folder Info • Breakpoints within a Function • TabControl Demo • Display Calc. Value Code • View Display File/Folder Code • Breakpoints Window • Add Tab Pages • Displaying Images • Stream-Based Objects • Breaking on Exceptions • TabPage Collection Editor • Displaying Images Demo • Alternate Solutions • Debugging Code in Assemblies • Working with Tab Pages • Displaying Images Code • Read/Write Text File Demo • Debug in Other Language • Align./Appearance/SizeMode • Add Controls to DataGridView • Read/Write Text File Code • Set/Rem. Breakpoints Demo • ShowToolTips/Info Properties • Add Controls Demo • Summary • Conditional Breakpoint Demo • TabControl Events • Add Controls Code • Breakpoint Hit Count Demo • FlowLayoutPanel Control • Summary Application Properties • Breakpoint in a Function Demo • FlowLayoutPanel Ctrl. Demo • Introduction • Debug Code in Asm. Demo • Working with FlowLayoutPanel The ReportViewer Control • Application Properties • Debug Other Language Demo • Document Outline Window • Introduction • Assembly Information • Summary • FlowDirection/WrapContents • ReportViewer Control • Associate an Icon • AutoScroll/AutoScrollMargin • Creating and Viewing Reports • Set the StartUp Object Expressions/Edit and Continue • FlowBreak Extended Prop. • Customer Report Demo • ProjectSettings Properties • Introduction • TableLayoutPanel Control • Create a Report Manually • Edit Assembly Information • Evaluating Expressions • TableLayoutPanel Ctrl. Demo • Set Sorting/Grouping • Build the Project • DataTips and Visualizers • Setting Row/Column Styles • Edit an Expression • View the Project Files Created • Debugging Windows • Positioning New Controls • Add ReportViewer to Form • Change the Assembly Name • Edit and Continue • Adding Controls Prog. • Run the New Report • Summary • DataTips/Visualizers Demo • Working with Other Properties • Review of Creating a Report • Debugging Windows Demo • Laying out Columns or Rows • Local/Rmt. Report Processing Compilation and Debugging • Edit and Continue Demo • TableLayoutPanel Control Ext. • Summary • Introduction • Summary • Compilation Properties (Continued on page 4) Files and Folders Tracing • Introduction • Introduction

LearnNowOnline www.LearnNowOnline.com powered by Developing Apps Using Visual C# 2005 page 4

• TableLayoutPanel Methods • Managing Menus • Status Properties • Creation in Windows Forms • Summary • Merge Parent/Child File Menus • Summary • Inherit from an Existing Control • MergeIndex/MergeAction • Required Steps Menus and Toolbars • Design Considerations RichTextBox • TextBox w/ Required Input • Introduction • Enable/Disable Child Menus • Introduction • Custom Control Demo • Introducing the Strips • Summary • RichTextBox Control • Code Snippets • Demo the New Strip Controls • RichTextBox Demo • Adding the Finishing Touches • Adding Menu Images MDI - Open Forms • View Code Behind Form • Assign a Toolbox Bitmap • Using the Automatic Menus • Introduction • Handling State • Hiding a Property • ToolStrip Control • Working with Open Forms • Undo and Redo • Assign the Property Category • ToolStrip ItemClicked Event • MdiChildActivate Event • Working with the Clipboard • Adding a Description • StatusStrip Control • Handling Edit Menu Items • Working with Fonts and Styles • Adding a Bitmap Image Demo • ToolStripStatusLabel Format • Handling Format Menu Items • Handling Font Styles • Hiding a Property Demo • BorderStyle Property • Passing Data • Foreground/Background Colors • Assign the Category Demo • BorderSides Property • Handling Form Closing • Modifying Alignment • Add a Description Demo • Spring Property • Using Open Forms Demo • Adding Bullets and Indents • Summary • ToolStripStatusLabel Demo • MdiChildActivate Event Code • Zoom, Links, and More • ContextMenuStrip Control • EditCommands Code • Summary Creating Custom Controls II • ContextMenuStrip ItemClicked • Format Menu Items Code • Introduction • ToolStripContainer Control • SendToItem Code TreeView/ListView • Inherit from the Control Base • ToolStripContainer Demo • Form Closing Code • Introduction • Draw Control - Required Steps • Working with a ToolStripItem • Summary • TreeView & ListView Controls • Control Properties • ToolStripItem Display Styles • TreeView/ListView Demo • Investigate the Sample • ToolStripItem DS Demo NotifyIcon/WebBrowser • TreeView Style Properties • OnPaint Procedure • Summary • Introduction • Add Nodes to TreeView • Handling Resizing • Introducing Complex Controls • Expanding a Node • Default Values/Serial. Prop. Advanced ToolStrip Concepts • NotifyIcon Control • ListView Control • Working with Other Types • Introduction • NotifyIcon Control Demo • ListView Display Properties • Raising Events • Runtime Customizations • Properties of NotifyIcon Control • Setting Up the Images • Hiding Properties • Allow Customizations Demo • Handling the Form Closing • Filling the List of Files • Adding Ease-of-Use Features • AllowItemReorder Issues • Handling Events • Working with ListView Items • Creating Composite Controls • Save/Restore Customizations • Handling Menu Items • SubItems • Comp. Ctrl. - Required Steps • Save/Restore Cust. Demo • WebBrowser Control • Item Grouping Demo • Investigate Sample Control • ToolStrip Layout Issues • WebBrowser Control Demo • Showing Items in Groups • Members of the Sample Ctrl. • LayoutStyle Property • Investigate the Sample Form • Sorting the Columns • Designer Support for Prop. • Layout Issues/Overflow Demo • WebBrowser Navigation • ListViewStringSorter Code • Explore Properties • Working with the Strips • WebBrowser Dialog Boxes • Summary • Setting Default Control Text • RichTextBox Demo • React to Environment Changes • Serializing the Text Property • WebBrowser Demo • Updating Status Text MonthCalendar/DateTimePick. • Handling Events • Summary • Updating the Progress Bar • Introduction • Data Binding • Updating the Title Bar • MonthCalendar/DateTimePick. • Summary MDI - Parent and Child Forms • Updating the Address TextBox • DateTimePicker Demo • Introduction • Back/Forward Buttons • Control Date/Time Format Components I • MDI Applications • Summary • Selecting Min and Max Dates • Introduction • Child Windows • Format DateTimePicker • Introducing Components • Creating an MDI Application MaskedTextBox • MonthCalendar Control Demo • Adding Components to Form • MDI Parent and Child Forms • Introduction • Limiting Input Dates • Using a Component Demo • MDI Parent Form • MaskedTextBox Control • Modify the Control"s Display • Timer Component • MDI Child Forms • MaskedTextBox Demo • Working with Selected Dates • Using the Timer Component • Managing Open Windows • Mask Characters • Handling Bolded Dates • BackgroundWorker Comp. • Creating a Window List • Investigate Properties • Setting First Day of the Week • Demo w/o BackgroundWorker • Parent/Child Forms Demo • TextMaskFormat • DisplaySelected Code • Introducing Multi-Threading • Arranging Windows • CutCopyMaskFormat • Handling Bolded Dates Code • Multi-Threading Rule • Summary • InsertKeyMode • Summary • MaskInputRejected Event (Continued on page 5) MDI - Merging Menus Creating Custom Controls I • Introduction • Introduction

LearnNowOnline www.LearnNowOnline.com powered by Developing Apps Using Visual C# 2005 page 5

• BackgroundWorker Members • COM Interoperability • Make it a Mandatory Update • View Code Without BW • Calling COM Obj. from .NET • Publish: What Happens • Demo Using the BW • Calling a COM DLL from .NET • Deployment Manifest • With BackgroundWorker Code • Interop Assemblies • Application Manifest • View Cancel Button Code • COM DLL from .NET Demo • ClickOnce Cache • Sequence of Events • Automate Excel Demo • View ClickOnce Files Created • Summary • Add a Reference to Excel • View a Deployment Manifest • Exporting Data to Excel • View an Application Manifest Components II • Summary • Summary • Introduction • FileSystemWatcher Comp. Calling .NET from COM ClickOnce Security • FileSystemWatcher • Introduction • Introduction • FileSystemWatcher Properties • Calling .NET Assemblies • ClickOnce and Security • FileSystemWatcher Events • Creating COM DLLs in VS • Setting Permissions • FileSystemWatcher Code • Call the .NET DLL from COM • Permissions Calculator • PerformanceCounter Comp. • Creating a COM DLL Demo • App. Using Partial Trust • Work with PERFMON • GUIDs with guidgen.exe • System.Deployment NS • Retrieving Values with PC • Configuring for COM Interop • Use Deployment Classes • PerformanceCounter Demo • Calling the .NET DLL from VB6 • Summary • Creating Perf. Counters • Creating Wrappers for F.C. • Using the PerformanceCounter • Creating Wrappers Demo • Process Component • Summary • Process Component Properties • Using the Process Component P/Invoke and Web Services • Process Component Methods • Introduction • Start a Process and React • Using Platform Invoke • Application.Exited Event • Call Win. API from .NET Demo • Work with Multiple Processes • Web Services • Summary • Creating a Web Service • Adding a Project Reference Components III • Creating a Web Service Demo • Introduction • Calling a Web Service • ServiceController Component • Summary • Using Services.msc • Use the SC Component Publishing • Interact with Windows Services • Introduction • Working with Services Demo • Publishing an Application • Working with Services Code • Using the Publish Wizard • EventLog Component • Installing the Application • Event Log Concepts • Offline Applications • View the Event Logs • Publish/Install Locations • Using the EventLog Comp. • ClickOnce Deployment Demo • Investigating the Sample Form • Install the Application • View Form Loading Code • Uninstall the Application • Selecting an Event Log • Summary • Retrieving Event Log Entries • Fill Information about the Entry Publishing Options • Writing a New Event Log Entry • Introduction • Work with the Server Explorer • Setting Publish Options • Summary • Publish Options Dialog Box • Prerequisites Dialog Box Calling COM from .NET • App. Files Dialog Box • Introduction • Updating a Deployed App. • COM and .NET • App. Updates Dialog Box • Managed/Unmanaged Code • Update a Deployed App. Demo • Update the Application • Publish the Application

LearnNowOnline www.LearnNowOnline.com powered by