4716. Developing Applications using C#
2008 : Advanced Topics (CSharp2008)
In this course you'll learn about important development topics that aren't normally covered in a beginning Windows application programming course. Starting with an introduction to .NET interoperability, then covering topics such as Windows Management Instrumentation (WMI), and System.Drawing namespace. You'll dig deeper into working with the most complex of Visual Studio's built-in controls, the DataGridView. You’ll also investigate several new Visual Studio 2008 features, including Windows Communication Foundation (WCF), Windows Workflow Foundation (WF), and new support for Office 2007 products using Visual Studio Tools for Office. Then learn how to create custom controls, secure applications and create applications for Windows Mobile devices. You're certain to find many more topics here that will extend your knowledge, your capabilities, and your value as a developer.
LEARNING OBJECTIVES
· Interoperate between managed code and COM components.
· Communicate using XML Web services, and Windows Communication Foundation (WCF).
· Install applications using ClickOnce technology.
· Save and restore nearly any object to a stream, using serialization
· Create and execute workflows, using Windows Workflow Foundation (WF).
· Take advantage of Windows Management Instrumentation (WMI) to add features to the .NET Framework.
· Create MDI applications.
· Learn to manage printers, and create free-form documents.
· Display and edit data using the DataGridView control.
· Create owner-drawn controls and non-rectangular forms using the GDI+ and the System.Drawing namespace.
· Create managed applications for Office 2007 products using Visual Studio Tools for Office (VSTO).
· Extend the functionality of Visual Studio 2008.
· Handle versioning issues with multiple assemblies or applications.
· Create and debug Windows services.
· Build and test mobile applications.
· Read and write XML data using the Document Object Model, and XML readers and writers.
· Perform cascading updates in joined data.
· Easily convert data projects to n-tier distributed applications.
· Create custom and user controls.
· Correctly secure Windows applications.
· Build setup applications.
· Examine existing code using reflection.
· Use distributed client settings in a Windows application.
Course Duration: 5
days
Prerequisites: The course assumes that students have some programming background. No specific experience with Visual Studio 2008 or the .NET Framework is required, although this course does not focus on programming languages, but rather, on building Windows applications. You may find that it's easier for you to follow the examples in this course if you have some prior experience working with the .NET Framework using Visual
C#, or have taken a beginning programming course using Visual C# such as our “Learning to Program using Visual
C# 2008” course.
1. Working with Toolbox Components
Introducing Components
Timer Component
BackgroundWorker Component
FileSystemWatcher Component
Process Component
ServiceController Component
EventLog Component
2. Windows Communication Foundation
What is Windows Communication Foundation?
WCF Building Blocks
Hosting a WCF Service
Self-Hosting the WCF Service
Configuring WCF Services
3. Serialization
Introducing Serialization
Serializing Complex Objects
Customizing the Serialization Process
4. Creating and Displaying Reports
Reports in Data Applications
Using the Report Designer
Grouping and Filtering Reports
One-to-Many Relationships in Reports
5. Windows Workflow Foundation
What is Windows Workflow Foundation?
Creating Your First Workflow
Activites
Using Rules in Workflows
Hosting a Workflow in a Windows
Applications
Host/Workflow Communication
State Machine Workflows
6. Filling the .NET Gaps with WMI
Introducing WMI
Getting Started with WMI
WMI Queries, Properties and Methods
WMI Server Explorer Extensions
7. WMI Events and Asynchronous Handling
Creating WMI Event Handlers
Working with WMI Asynchronously
WMI Server Explorer Extensions and Events
8. Creating MDI Applications
MDI Applications
MDI Parent and MDI Child Forms
Managing Open Windows
Manage Menus
Working with Open Forms
9. Printers and Printing
The PrintDocument Class
The PageSettings Class
The PrinterSettings Class
Working with Print-Related Controls
A More Complex Report
10. Examining the DataGridView
Controlling Appearance in Grids
Work with Data in Grids
11. Creating Rich User Interfaces with GDI+
Introducing Drawing in the .NET Framework
Creating Owner-Drawn Controls
Creating Non-Rectangular Forms
Creating a Custom DataGridView Control Column
12. Creating Office Applications Using Visual
Studio 2008
Introducing Office Projects in Visual Studio
2008
Ribbon Customization and Custom Task Panes
Work with Word 2007's Content Controls
Create an Outlook Form Region
13. Extending Visual Studio 2008
Getting Started
Creating Your Own Item Templates
Creating Your Own Project Templates
Using and Creating Code Snippets
Using Macros to Automate the IDE
14. Handling Versioning Issues
Before You Begin
Assemblies
Private Assemblies
Shared Assemblies
15. Creating Windows Services
Introducing Windows Services
Build Your First Windows Service
The FileWatcher Service
16. Building Mobile Applications
.NET Compact Framework
Developing for Devices
WindowsMobile Class Library
Mobile Database Applications
17. Reading and Writing XML Using the XML DOM
Getting Started
Reading XML
Working with Nodes
Creating and Modifying XML
Dealing with Errors
18. Using the XMLReader, XMLWriter and XPath to
Work with XML
Getting Started
Reading XML with XMLReader
Writing XML with XMLWriter
Searching XML with XPath
19. Data Improvements
Hierarchical Updates
Caching Data Locally
Creating N-Tier Data Applications
Building Data Applications with LINQ to SQL
20. Creating Custom Controls
Control Creation in Windows Forms
Drawing Your Own Custom Controls
Creating Composite Controls
21. Securing Windows Applications
Security in the .NET Framework
Code Access Security
Checking for Permissions
Role-Based Security
22. Building Setup Applications
Windows Installer Deployment
Creating a Setup Project
Customizing a Setup Project
23. Attributes and Reflection
Introducing Attributes
Creating and Using Custom Attributes
Introducing Reflection
Using Reflection to Perform Late Binding
24. Client Application Services
Membership, Roles and Profiles on the Web
Client Application Services