Global ImageList Control – ImageListProxy
Posted by Dan Vanderboom on December 20, 2007
It would be normal for me to have already jumped forward to WPF and to leave Windows Forms behind, but being a Compact Framework developer, I don’t yet have that option. Though I look forward to Silverlight, this won’t work for occassionally-connected or totally-disconnected mobile applications because Silverlight won’t work without some kind of back end server. (Unless a certain company’s Windows Mobile ASP.NET server can support Silverlight, which would be awesome. Someone in the .NET world needs to compete with Adobe’s FlashLite!)
One of the things I need to do is manage assets, such as graphic files. Because the applications I write need that polished, commercial, and professional spit-and-polish, I am constantly including images into my user interfaces. Sometimes these are stored in ImageList controls, to feed data-bound list controls and so on. When you share common images across many forms, many views, many projects, such as checkboxes, question mark icons, etc., it’s a pain to have to include them over and over again. Why not have an ImageList-derived component that acts as a proxy to a shared, global image list? Images could be stored as resources in the project (or a resource assembly), or could be retrieved as files or database objects, but exposed from a single shared object to a collection of form-specific ImageListProxy objects.
The more cool stuff I read about WPF, the more I think that new controls, components, and other simple tools could be included in Windows Forms to accomplish many of the same goals. To an extent, of course, but definitely worthwhile pursuing. Windows Forms is going to be with us for a while longer.