Developing Classic Windows Forms applications using Visual Studio 2010 and .Net 4.0

מק"ט: #42860 | משך קורס: 40 שעות אק'

With the advent of C# 4.0 and Visual Studio 2010 Microsoft have passed the mantle of Windows application development onto WPF (Windows Presentation Foundation) and you may be forgiven for thinking that Windows Forms is therefore a dead technology. The writing is certainly on the wall for Windows Forms, however, it is likely that for some time yet most Windows applications will continue to be developed using this older, more established technology (even in a Visual Studio 2010 .NET 4.0 environment!). One of the main reasons for this is that the Windows Forms approach is often familiar and certainly intuitive to developers (especially those with a VB6 or MFC background) and it is still a powerful, yet easy to use, platform for creating compelling Windows applications. WPF on the other hand requires a paradigm shift in thinking that many find difficult to comprehend, that coupled with a Visual Studio toolset that still requires some work makes Windows Forms a tempting proposition. With rich support for data binding, powerful layout and localisation features, support for multithreading and Microsoft Office-style tool- and menu-strip controls, developers can produce great looking, feature rich and responsive applications in record time.


This course will provide you with the skills necessary to create a good looking Windows application, providing you with comprehensive coverage of this still relevant technology.

*שדות חובה
PDF version

מטרות הקורס

At the end of this course, you will be able to:

  • Use Microsoft Visual Studio 2010 to create Windows Forms  applications
  • Configure and deploy an application using ClickOnce deployment
  • Work with the new menu and tool-strip controls
  • Use LINQ and the Entity Framework along with data binding techniques to minimise the amount of code needed to create data-driven applications
  • Work with resources to produce applications for international markets
  • Design user interfaces that provide help and which validate user input
  • Manipulate and utilise application and user settings within their programs
  • Create Windows Forms applications that work correctly with multiple threads of execution
  • Go beyond the RAD features of Microsoft Visual Studio 2010 to create scalable and maintainable Windows Forms applications
  • Interop with Microsoft Office documents
  • Integrate WCF (Windows Communication Foundation) Web Services into their Windows Forms applications, and understand how to call Web Services asynchronously to improve performance
  • Explain how Windows Forms relates to Windows Presentation Foundation and know how to host WPF controls in a Windows Forms environment

תנאי קדם

  • Delegates should already have experience of using the C# or Visual Basic .NET programming languages, which can be gained by attending one of our C# or Visual Basic .NET programming language courses
  • Knowledge of GUI programming, using technologies such as Visual Basic 6, Microsoft Foundation Classes (MFC) would be an advantage, but it is not required
  • This course is ideal for Developers and Team Leaders who will be using Windows Forms and the Microsoft .NET Framework to write and deploy Windows applications

משך הקורס

משך הקורס הינו 40 שעות


Module 1: Hello, Windows Forms

  • Fundamentals of Windows Programming
  • Building your first form; Adding controls
  • Handling basic events; Displaying a MessageBox
  • Overview of the Windows Forms controls
  • Creating a Windows Forms application using Microsoft Visual Studio 2010

Module 2: Menus and Toolbars

  • Creating menus with the MenuStrip
  • Using the ToolStrip; Adding context menus
  • Docking with ToolStripContainer
  • Using a StatusStrip


Module 3: Working with Forms

  • Creating forms; Form ownership
  • Anchoring and docking
  • Hiding and showing forms
  • Critical Form events
  • Encapsulation of controls
  • Controlling Secondary Form instancing (Singleton pattern vs hiding)


Module 4: Dialog Boxes

  • Creating modal forms
  • Using the common dialog boxes
  • Laying out controls (TableLayoutPanel and FlowLayoutPanel)
  • Exchanging data with forms
  • Validation techniques
  • Using the ErrorProvider control
  • Form-level validation
  • Context sensitive help and the HelpProvider


Module 5: Managing Settings

  • Saving and loading settings
  • Preserving form and control layouts
  • Application and per-user settings


Module 6: Resources and Localisation

  • Using resources
  • Globalisation
  • Localisation
  • Satellite assemblies
  • Creating internationalisable applications


Module 7: Beyond RAD

  • The Application object
  • Controlling application instancing
  • Implementing Model-view-controller
  • Implementing Command pattern


Module 8: Data Binding

  • Simple data binding
  • Complex data binding
  • Data binding using Microsoft Visual Studio 2010
  • Working with different binding sources
  • Data views; Sorting and Filtering
  • The DataGridView control
  • Designing types to support data binding


Module 9: LINQ and the Entity Framework

  • The ADO.NET overview
  • LINQ syntax;
  • Overview of the Entity Framework;
  • Retrieving and managing Data using LINQ to Entities


Module 10: Working with WCF Web Services

  • Locating and calling a Web Service
  • Working with proxies and security credentials
  • Asynchronous Web Service invocations


Module 11: Asynchronous Programming

  • Using timers
  • Using a secondary thread
  • Multithreading and the Windows user interface
  • Using the BackgroundWorker component


Module 12: Components and Controls

  • What is a component?
  • Creating a custom control
  • Creating a custom component
  • Introduction to design time integration


Module 13: Office Automation

  • Overview of COM interop
  • The Runtime Callable Wrapper
  • Automating Microsoft Word and Excel


Module 14: Printing

  • Print documents
  • Print controllers
  • Working with common printer dialogs
  • Implementing print preview


Module 15: Working with ClickOnce Deployment

  • Versioning and rollback
  • Controlling ClickOnce programmatically
  • Trust, Code Access Security (CAS) and ClickOnce


Module 16: Windows Presentation Foundation

  • Overview of  WPF (Windows Presentation Foundation)
  • Hosting WPF controls in Windows Forms


Module 17: Review

  • Course review; Further resource