Print this page

Visual C#.NET: Advanced

Upcoming Class Dates

(Toronto location only)

Course Specifications

Course number: 085523
Course length: 5.0 day(s)

Course Description

You have already briefly entered into the new world of .NET programming, using some of the basic features of the C# programming language and the Visual C#.NET integrated development environment inside Visual Studio.NET. Building on the basics, you are now ready to seriously pursue the advanced aspects of Visual C#.NET programming that are introduced in this course. This is one in a series of Visual C#.NET programming courses.

Course Objective: You will program rich client Windows desktop applications and distributed applications using Visual C#.NET.

Target Student: Visual Basic, C++, or Java programmers with at least one year of practical experience who want to be a Visual C#.NET programmer, able toprogram rich client desktop applications and distributed applications, and/or is seeking Windows Application Developer certification.

Prerequisites: To ensure your success, we recommend you first take the following course or have equivalent knowledge:

Performance-Based Objectives

Upon successful completion of this course, students will be able to:

Course Content

Lesson 1: Adding User Interface Elements to Forms

Topic 1A: Add a Menu to a Form-based Application
Topic 1B: Handle a Menu Item
Topic 1C: Create a Context Menu
Topic 1D: Add a Toolbar
Topic 1E: Add a Status Bar
Topic 1F: Add a Splitter Bar
Topic 1G: Create and Use a Modal Dialog Box
Topic 1H: Use a Common Dialog Box
Topic 1I: Create and Use a Modeless Dialog Box

Lesson 2: Displaying GDI+ Graphics

Topic 2A: Draw Graphics with Pens
Topic 2B: Fill Areas with Brushes
Topic 2C: Draw Text with Fonts
Topic 2D: Draw Images
Topic 2E: Perform Graphical Transformations

Lesson 3: Working with Delegates and Events

Topic 3A: Respond to Keyboard and Mouse Events
Topic 3B: Use a Delegate
Topic 3C: Work with Custom Events

Lesson 4: Inputting and Outputting Data

Topic 4A: Read and Write Text Data with Streams
Topic 4B: Read and Write Binary Data
Topic 4C: Implement Object Serialization
Topic 4D: Implement Custom Serialization

Lesson 5: Implementing Document Printing

Topic 5A: Print a Document
Topic 5B: Implement Print Preview
Topic 5C: Print Headers and Footers
Topic 5D: Scale Document Printing

Lesson 6: Interacting with Garbage Collection

Topic 6A: Force Garbage Collection
Topic 6B: Investigate Garbage Collection
Topic 6C: Expedite Clean-Up Using the Dispose Design Pattern
Topic 6D: Manage Temporary Resources

Lesson 7: Writing a Multi-threaded Application

Topic 7A: Create a Thread
Topic 7B: Modify Thread Priority
Topic 7C: Control Execution of a Thread
Topic 7D: Coordinate Threads Sequentially
Topic 7E: Synchronize Access to Data from Multiple Threads in a Process
Topic 7F: Synchronize Access to Data from Multiple Threads Between Processes
Topic 7G: Synchronize Access to Methods in a Class
Topic 7H: Store Data with Local Data Storage

Lesson 8: Writing Internet and Distributed Applications

Topic 8A: Write a Server Using Sockets
Topic 8B: Write a Client Using Sockets
Topic 8C: Write an HTTP Server
Topic 8D: Write an HTTP Client
Topic 8E: Write a Web Service
Topic 8F: Consume a Web Service
Topic 8G: Create a Server Using Remoting
Topic 8H: Create a Client using Remoting

Lesson 9: Implementing Security

Topic 9A: Implement User-based Security
Topic 9B: Implement Code Access Security
Topic 9C: Configure Security Permissions
Topic 9D: Implement Permission-based Security
Topic 9E: Implement Data Encryption and Decryption

Lesson 10: Controlling and Analyzing Compiled Code

Topic 10A: Control Compilation using Pre-processor Directives and the Conditional Attribute
Topic 10B: Analyze Assembly Types Using Reflection
Topic 10C: Create Custom Attributes
Topic 10D: Access Memory Directly Using Pointers