Place a KryptonNavigator inside another control such as a KryptonGroup and at runtime the check button headers do not appear!
This bug turns out to be simple enough to fix and highlights an area that can easily catch you out. Well, that’s my excuse anyway. The problem is that the Visible property for a control does not act as a simple get/set pair for a boolean value.
You can set the Visible property and it will take that value very happily. No surprises there. But when you perform a get it only returns true if the control itself has been set to true in the past AND all of its parent controls are also currently visible.
This get behavior is what I had overlooked. As I create each page header I ask the page if it is visible, so that the page header object is kept in sync with the page visibility. I also hook into the VisibleChanged event so I can keep the header object in synch with any change to the page in the future. Seemed simple and fool proof to me.
But what if at the time of creating the header objects the navigator itself is not visible, or the parent container is not visible, or the top level form is not visible? Well if anything up the chain is not visible then I get back false from the page Visible property.
So at runtime the problem is that I was getting back false from the page Visible property because the actual form was still in the process of being created, and so not visible. A short while later the setup is completed and then the form actually shows on the screen. But of couse, the VisibleChanged event does not fire, so my header objects stay wrong.
The solution is to cache inside the KryptonPage the value that is set into the page so it can always be recovered without having the real visibility test interfere. Then I always use the cache value when I want to recover the visiblity of the page.
Posted in Krypton Navigator | No Comments »
If you assign a ContextMenuStrip to a ButtonSpec instance then clicking that button will show the context menu. But it does not render the context menu correctly. Until now.
This bug appears because the context menu is not using a renderer based on the palette the control is using. It is possible you could assign a different palette to each of your Krypton controls and so the context menus for each control should appear differently.
But in practice the ContextMenuStrip by default just uses the global toolstrip renderer and so unless your control is also using the global krypton palette then it would be incorrect. This is now corrected.
Posted in Krypton Toolkit | No Comments »
Point release fixes the failure of palette Export to work.
When you use the SmartTag for a KryptonPalette to export the settings to a palette XML file it fails and generates a type exception. This is an important features especially when developers are upgrading to the latest version.
You can check your email for an update message if your own the notification list. Otherwise use the following link.
Download Krypton 2.0.1
Posted in Krypton Navigator, Krypton Toolkit | No Comments »
Quick, download the latest release whilst stocks last.
If you are on the Krypton notification list then you will already have an email waiting for you with download instructions for the latest release. You are on the notification list? If not just go to the download page and join up right away…
Download Page
If you have been following the blog then you will already know the changes but here is a summary anyway…
- New KryptonLinkLabel control
- New KryptonNavigator control
- Collapsable KryptonHeaderGroup ability
- New custom palette styles
- Renamed existing palette styles
- Palette upgrade tool
- Updated documentation
- More tutorials
Phew! After all that I need to lay down for a couple of hours with a wet towel around my head. Just long enough for the first bug reports to start rolling in…
Posted in Krypton Navigator, Krypton Toolkit | No Comments »
It has only taken a couple of days to finish off the documentation changes but it feels like I have run a marathon.
No programmer enjoys writing documentation, even when you know how important it is. Also like most coders I am not that good at writing and so it feels like pulling teeth for two solid days. Still, it is over with now. The navigator is fully documented, new tutorials added and the existing details updated to reflect changes in the code.
Now onto the website changes.
P.S. If your bored waiting the last couple of days for the release then try out the following link. It wasted five minutes of my time anyway…
www.addictingclips.com/Content.aspx?key=97DBA08806171653
Posted in Krypton Toolkit | No Comments »