 | Locking the Workstation Programmatically Microsoft Windows operating systems include the ability to lock the workstation. This leaves programs running but prevents access by unauthorised users, requiring a password to unlock the computer and continue working. |
 | Changing the Desktop Wallpaper The .NET framework does not natively support changing the desktop wallpaper. However, it is possible to set the wallpaper image using Platform Invocation Services (P/Invoke) by calling the SystemParametersInfo function. |
 | Mouse Clipping Specialised applications can require that the mouse pointer is limited to a fixed portion of the screen, known as a clipping rectangle. This region can be determined and controlled by reading and setting a property of a standard .NET class. |
 | Getting the Mouse Pointer Position Many Windows-based programs require the ability to determine the mouse pointer's location. Sometimes the screen position is used, even if the cursor is beyond the boundaries of a window. In other cases the location relative to a form or control is needed. |
 | Getting the Active Process When developing software that monitors running processes, it can be useful to obtain details of the currently active application. The .NET framework does not provide methods to permit this so Platform Invocation Services (P/Invoke) must be used. |
 | Capture Right, Middle and "X" Button Clicks When a user interacts with a Windows Forms application using the mouse, most operations will be controlled with the left (or primary) mouse button. However, it is often important to be able to detect when the user clicks one of the other buttons. |
 | Hiding the Mouse Pointer Some applications require that the mouse pointer be hidden during use. Examples of such software include screen savers and graphical applications or games. Each may fundamentally change the manner of display or the general behaviour of the cursor. |
 | Restarting a Windows Forms Application It can be useful to immediately terminate a Windows Forms program and restart it. This can be used as part of a recovery process for an application that has raised an unexpected exception or following an automated updates to the software. |
 | Using a Form in Place of a Control When you have developed a Windows Forms control, you may find that it would be helpful to have it behave as a control. This would allow you to use the form within another form, potentially including it several times and promoting reuse. |
 | Binding a ComboBox to an Enumeration Enumerations provide a useful manner in which to create a group of related constants that can be viewed as strings or integer values. When these values are bound to a ComboBox, the user can select an option directly from a list of the enumeration strings. |