Monday, May 14, 2007

Creating Component with Rich Design Time Support

These 2 weeks had been most exhausted event for my brain. While researching designer class, I found something new and yet confusing methods to study. Design time component has a very wide scope to begin with, and it seems like one method can spread to another method. Sometimes I can be very frustrating. Once I got a small solution or step, that step always connects to another 2 or 3 problem that had to be solved. I wonder how much time I have to spend to complete my current home project. Luckily, my work had been on simulation stage, which mean, I have more spare time to observe and studying articles while doing a little design to my next project. Now I start wonder, since I have to put a lot of effort to my home project, maybe I should start to commercialize it? It maybe worth some money.

Tuesday, May 8, 2007

Adorners and Glyphs

Currently, I've studied a bit about Adorner. With Adorners and Glyph, you can give full design time support for making some good components, especially such as multi tab component. I'm telling you, learning this stuff is more complicated than I expected. The concept is difficult as well. Much more difficult for a man who only have one year experience with .NET Framework. Now I feel sorry for being ignorance when .NET released. Too late for that now.

After a few days of learning and observing various codes, I learn that to fully support design time component, I must include some service before applying adorner and glyph. Adorner itself are is part of behavior service. Luckily, those services come from base class, if you inherit designer class to a ControlDesigner class. Base on that base class, you may add an adorner which contains any glyph which will represent your child control (it's an array). One note if you work with this, make sure you override dispose method which is removing your glyph from adorner. If you forgot to do this, the glyph will likely stay even when you remove the component and closing the form. The possible solution that I found is to close your IDE, and start it over again (and of course, override its dispose method).

I know it's a bit confusing if you read this post, but hey, I'm confused too. I'll try to hang out with this for a while, and once I fully understand about the concept, I'll try to make a new component that utilizes Adorner and Glyphs. I'll post some article about making this component too. So keep your eyes open for another updates in this blog and my vbcorner tutorial blog.