Although my blog has been very quite for the last couple of weeks, I have still been hard at work. Just completed this weekend is the Krypton SplitContainer control. This is the Krypton version of the SplitContainer control that comes with the soon to be released Visual Studio 2005.

The intention is not to provide different functionality from the standard SplitContainer but to provide a version that works within the Krypton framework. So it uses the correct appearance as defined by the palette and renderer from the Krypton Toolkit.

This is how it looks at design time with the default Professional palette and renderer.

The container has two panels separated by the position of the splitter. When the panels have no child controls on their surface they show the name of the panel in the centre. Once the user places a control on the panel surface the name watermark is removed.

If you have not used any of the Visual Studio 2005 beta versions then you will not yet be aware of some of the great new changes that are coming up. One of my favorites is the smart tag.

When you select the control at design time it shows the following appearance.

As you would expect, you get a focus rectangle around the control with resizing handles along the edges. If you look at the top left there is a small box that is used to drag the control to a different screen location. This is much easier to use than the old method of dragging the focus rectangle.

At the top right is a little arrow button, this is called the smart tag. When you click this arrow button it shows a popup window with options that can be used to quickly change aspects of the control.

This is a quick way to perform changes to the control without having to navigate to the Properties window and search for the property of interest.

Here is the smart tag display when you press the button for the Krypton SplitContainer control.

So now if you want to alter the splitter from being a vertical to a horizontal split, you just click the smart tag button and press the appropriate command as shown in the picture above.

I have gone ahead and added appropriate smart tags definitions for each of the Krypton controls. It is tempting to add a long list of options but I have restrained myself to just a small set of the obviously useful ones.

I expect smart tags to speed up the time it takes developers to quickly customize controls and also to make it easy for them to discover functionality when first using them.

Leave a Reply