I've been working on some programs in my spare time to play around with new technologies, refine my skill set, etc... Even though I may never release them for public use, one of the things I've tried to incorporate is a pleasing and consistent visual style. This, in my opinion, has been harder than adding internal functionality. V1 of the framework is akin to the first version of Java as far as components go. (AWT must've sounded like a nice idea, but it was horrible in execution) While the programming model isn't quite as bad as AWT, the components are somewhat weak, particularly in regards to drawing and visual consisitency.
Right now, I'm looking at three different areas:
1) Core interface: menu bars, status bars, and to some degree, tool bars. As we all know, in Windows Forms, these components are very,well, flat. They are certainly fully functional, but look bland, and getting an owner draw progress bar in the status panels to draw without flicker didn't seem to work for me. This is obviously a concern for many because there are entire suites of products to address this.
2) Windows Forms components: It should be easy to use default Windows Forms controls without flicker, even if they make things slightly slower. it's difficult when you can't get to any of the underlying controls to work with them, or massage the procedures.
3) Docking windows & Tabbed browsing: More docking windows, but these two seem to come toghether. I'm using Dockable Windows primarily because I have three monitors, and it's nice to be able to full screen part of the application, and tear off other portions to another monitor. There's been a lot of really good work in this space, leading me to wonder just what all the applications using Docking Windows are, cause I really can't think of but so much use for it.
At any rate, I've done a lot of playing around with this recently, so I hope to share some comments as I collate my opinions on the various products.
<rant target=”Microsoft”>I'm not saying that Windows Forms controls should solve all of the world's GUI ills, but what is there should be consistent, and easy to use. And not Flicker!!!!</rant>