Northern Ireland based Beckinridge specialises in Technology, IT, Sales and Management training for the ICT, Corporate, SME and Government Sectors.

  Public Courses
General Training

  On-Site Courses
Tailored Training

  ILM Qualifications
Level 4 & 5 Awards

Articles & Reviews

  Team Building
Activities & Events

  Why Choose Us?
Our Clients
Our Services
Quality and Expertise
Financial Support
Course Tailoring
Our Support Team
Talk To Us

Join Mailing List

 Developing Windows applications using C# and Windows Forms

  Course Code: GN-302   Duration: 5 Days 

This 5 day course covers the C# language and its use for Windows desktop applications using Windows Forms. A basic knowledge of programming is assumed, though not any particular language. We offer alternative courses for web and WPF applications, and several optional modules can be added to match your particular requirements.


 Course Outline


Introducing C# and .Net

  • Layout and white space.
  • Blocks, braces and semicolons.
  • Classes, methods and the use of '.'.
  • The Main method.
  • Basic input and output.
  • Compiling and running programs.

Using Variables

  • Variable types and sizes.
  • Integer versus floating point.
  • Local variables and scope.
  • Declaring and initializing variables.
  • Operators. Pre and post increment operators.
  • Strings and characters.
  • Special characters and escape sequences.
  • Verbatim literal strings.

Control Flow

  • if and else.
  • The for loop.
  • while and do while.
  • The switch statement.
  • Conditional expressions.
  • Writing and calling methods.
  • Passing arguments.
  • Returning values.
  • Method overloading.

Windows Forms

  • Building a graphical user interface.
  • Event handling.
  • Control types and dialogs.
  • Validation.
  • Dynamic control creation.
  • User interface methodologies.
  • Holding objects in lists.
  • Graphics and drawing.

Object Oriented Programming

  • Data types and nullable types.
  • Value and reference types.
  • Implicit types.
  • Classes, objects and the use of 'new'.
  • Encapsulation.
  • The heap and the stack.
  • Strings and StringBuilders.
  • Collections, generics and concurrency.
  • Arrays, jagged arrays and Indexers.
  • Namespaces, 'using' and assemblies.
  • Attributes.


  • Inheritance and the use of 'virtual' and 'override'.
  • Benefits of inheritance.
  • Hiding and the other use of 'new'.
  • Abstract classes.
  • Constructors and initialization.
  • Casting, 'as' and 'is'.


  • The benefits of interfaces.
  • Interfaces vs classes.
  • Defining and implementing an interface.
  • Common interfaces and the ubiquitous IEnumerable.
  • Sorting and finding.

Exception Handling

  • How exception handling works.
  • try...catch and throw.
  • Handling multiple exception types. try...finally and 'using'.
  • Deriving exception classes.

Files, Streams and Networking

  • The. Net Stream architecture.
  • Streams, Readers and Writers.
  • Serialization and SOAP.
  • The Socket and Tcp classes.
  • Basic network communication.
  • Clients and multithreaded servers.

UI Inheritance

  • Form and control inheritance.
  • Custom controls.
  • Distributing controls.

Databases and ADO.Net

  • Connections, commands and readers.
  • DataSets and adapters.
  • Typed DataSets.
  • DataSource controls.
  • Data-aware controls and grids.
  • Stored procedures and transactions.
  • Designing and implementing multi-tier applications.

LINQ and Entity Framework

  • How LINQ works.
  • Implicitly-typed variables and Lambda expressions.
  • The LINQ syntax.
  • Using LINQ with collections, databases and XML.
  • The ADO.Net Entity Framework.
  • Using LINQ with entities.
  • Parallel LINQ (PLINQ).


  • async and await.
  • Parallel execution.
  • Parallel For and ForEach.
  • Tasks, threads and the thread pool.
  • Controlling and synchronizing tasks and threads.
  • .Net 4 synchronization mechanisms.
  • Monitors.
  • Asynchronous methods in .Net. Using callbacks.
  • Cross-thread calls and the user interface.

Advanced Language Features

  • Optional and named parameters.
  • Delegates.
  • Anonymous methods and lambda expressions.
  • Memory management and the workings of the garbage collector.
  • Calling legacy and unmanaged code.
  • Using unsafe code.
  • The Marshal and IntPtr types.
  • Operator overloading and indexers.

The Dynamic Language Runtime

  • Supporting dynamic languages.
  • The dynamic keyword.
  • Comparing dynamic and object.
  • ExpandoObject.
  • DynamicObject.
  • Office support.

© Beckinridge Ltd.

Privacy Policy | Quality Policy

Site by redrhino

Beckinridge specialises in Technology, IT, Sales and Management training for the ICT, Corporate, SME and Government Sectors in Northern Ireland.
Privacy Policy | Capability, Improvement, Through Training & Development