After installation, the GUI is usually the first part of your software that users see. First impressions last a long time; if the GUI isn't well designed, you'll likely have some disappointed users! However, as with all aspects of modern software, the various front-end technologies are the subject of ongoing development. This development is occurring in the open source and proprietary worlds; as programmers, we benefit from the new offerings.
Microsoft Visual C# 2008 Express Edition provides some compelling features for GUI development. This includes different views: one for designers and the other for coders. Such a separation allows for attractive front-end aesthetics as well as good coding practices. In addition, a rich palette of visual elements is available, which helps to reduce the need for custom-built widgets.
I've often found front-end tools to be a little opaque and difficult to follow. I'm glad to see that this situation is improving as well, and it's not hard to supplement the tools with some low-tech facilities, such as calls to MessageBox(). This capability can help in filling any gaps left by the code-generation phase. I think this area of Microsoft Visual C# 2008 Express Edition is worthy of deeper study.