This chapter has given you a glimpse at some of the real power you can unleash within a Windows Forms application if you follow some good design guidelines and are not afraid to dig into the WinForms object hierarchy a little. You've seen how you can customize the behavior of context menus to be incredibly dynamic and increase the richness of the user experience. You also saw how you can create graphically rich controls with only a little bit of effort through the DrawItem and MeasureItem events. Finally, we looked at how to create forms with nonrectangular custom shapes by using images and transparency layers. Now that you are a firm believer that Windows Forms programming is not boring and stuffy, you can do some pretty amazing things with Windows Forms if you spend a little extra effort up front.