<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Component Factory &#187; Krypton Toolkit</title>
	<atom:link href="http://www.componentfactory.com/blog/category/krypton-toolkit/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.componentfactory.com/blog</link>
	<description>Windows Forms Controls for .NET Smart Client Applications</description>
	<lastBuildDate>Mon, 05 Sep 2011 10:28:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>KryptonTreeView Nodes</title>
		<link>http://www.componentfactory.com/blog/2011/05/kryptontreeview-nodes/</link>
		<comments>http://www.componentfactory.com/blog/2011/05/kryptontreeview-nodes/#comments</comments>
		<pubDate>Tue, 31 May 2011 03:04:16 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=704</guid>
		<description><![CDATA[Drawing the tree nodes is much tricker than it might sound. When you perform custom drawing of the entire node it does not modify how the mouse interacts with the node itself and so you need to ensure that the drawing is aligned with the expected mouse locations. For example, when drawing check boxes I [...]]]></description>
			<content:encoded><![CDATA[<p>Drawing the tree nodes is much tricker than it might sound. When you perform custom drawing of the entire node it does not modify how the mouse interacts with the node itself and so you need to ensure that the drawing is aligned with the expected mouse locations. For example, when drawing check boxes I must ensure that I draw them in the exact pixel offset from the left of the control. Otherwise they will look nice but the users&#8217; clicks will not match the drawn location and so the interaction will not work as expected.</p>
<p>Here you can see the drawing of check boxes and how the highlight for the selected/tracking node is immediately adjacent to the check box itself. This is not very pretty and I would prefer a pixel gap between the check box and the highlighting but this is not possible because that is the method expected by the tree control.</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/TreeViewCB.png" alt="" /></p>
<p>You can assign an <em>ImageList </em>to the <em>KryptonTreeControl </em>and then use the per-node image index to draw images by the nodes. Luckily the standard tree does have a gap between the right of the image and the node highlighting so the appearance looks tidier than for check boxes.</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/TreeViewI.png" alt="" /></p>
<p>Also implemented is the use of the <em>StateImageList </em>that is used to provide an optional per-node image at the left of the node drawing. In this example I used set this up on the top two nodes only.</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/TreeViewIS.png" alt="" /></p>
<p>I honour the <em>BackColor</em>, <em>ForeColor </em>and <em>NodeFont </em>overrides that are defined per-node. This allows you to provide a custom look for each node to reflect status.</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/TreeViewN.png" alt="" /></p>
<p>To make like a little easier for developers I have added a new class called <em>KryptonTreeNode </em>that derives from the standard <em>TreeNode </em>class. It adds an extra property called <em>LongText </em>that is an extra string that will be drawn when defined to the right of the standard node text. It also includes a <em>LongForeColor </em>and <em>LongNodeFont </em>pair of overrides allowing the l0ng text to be drawn differently.</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/TreeViewNL.png" alt="" /></p>
<p>Note that apart from the KryptonTreeNode there is no new functionality in the control. It is really just a standard TreeView with some custom drawing and so any requests for new features will not be possible. It is just a TreeView!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2011/05/kryptontreeview-nodes/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>KryptonTreeView Lines</title>
		<link>http://www.componentfactory.com/blog/2011/05/kryptontreeview-lines/</link>
		<comments>http://www.componentfactory.com/blog/2011/05/kryptontreeview-lines/#comments</comments>
		<pubDate>Tue, 24 May 2011 04:38:06 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=702</guid>
		<description><![CDATA[I have started the process of creating a Kryptonized version of the TreeView control. As with many of the Krypton controls in the Toolkit it works by using the custom drawing ability of the standard TreeView control. So it will not have any new functionality but should draw in a manner consistent with the rest [...]]]></description>
			<content:encoded><![CDATA[<p>I have started the process of creating a Kryptonized version of the TreeView control. As with many of the Krypton controls in the Toolkit it works by using the custom drawing ability of the standard TreeView control. So it will not have any new functionality but should draw in a manner consistent with the rest of the Krypton controls.</p>
<p>So far I have implemented drawing the node text and the tree plus/minus nodes and lines. You can see two examples below, the first using the Office 2010 Blue palette and the second the professional palette.</p>
<p><img class="alignnone" title="KryptonTreeView" src="http://www.componentfactory.com/blog/data/upimages/TreeView11.png" alt="" width="217" height="226" /></p>
<p><img class="alignnone" title="KryptonTreeView" src="http://www.componentfactory.com/blog/data/upimages/TreeView12.png" alt="" width="214" height="223" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2011/05/kryptontreeview-lines/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Krypton Suite 4.3.2 Released</title>
		<link>http://www.componentfactory.com/blog/2011/05/krypton-suite-4-3-2-released/</link>
		<comments>http://www.componentfactory.com/blog/2011/05/krypton-suite-4-3-2-released/#comments</comments>
		<pubDate>Fri, 06 May 2011 05:11:15 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Ribbon]]></category>
		<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=692</guid>
		<description><![CDATA[Another maintenance release containing fixes for the Krypton Toolkit and Krypton Ribbon. The biggest change is the inclusion of help for Visual Studio 2010 SP1. Note that you do need the SP1 for Visual Studio 2010 in order to see the help. If you have not already installed it then you should do so before [...]]]></description>
			<content:encoded><![CDATA[<p>Another maintenance release containing fixes for the Krypton Toolkit and Krypton Ribbon.</p>
<p>The biggest change is the inclusion of help for Visual Studio 2010 SP1. Note that you do need the SP1 for Visual Studio 2010 in order to see the help. If you have not already installed it then you should do so before upgrading Krypton.</p>
<p>Font measuring has been fixed for the Input/Message/Task dialog boxes. The Validating and Validated events are now fired for the input controls. There are four new label styles that speed up development as well as numerous crash fixes. Check out the Toolkit and Ribbon change list documents using the links below to see a full list of changes.</p>
<p><a title="Download Kryption 4.3.2" href="http://www.componentfactory.com/downloads/KryptonSuite432.zip">Download 4.3.2</a></p>
<p><a title="Toolkit Change List" href="http://www.componentfactory.com/downloads/changeLists/KryptonToolkitChangeList.doc">Toolkit Change List</a><br />
<a title="Ribbon Change List" href="http://www.componentfactory.com/downloads/changeLists/KryptonRibbonChangeList.doc">Ribbon Change List</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2011/05/krypton-suite-4-3-2-released/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Bold and Italic Styles</title>
		<link>http://www.componentfactory.com/blog/2011/05/bold-and-italic-styles/</link>
		<comments>http://www.componentfactory.com/blog/2011/05/bold-and-italic-styles/#comments</comments>
		<pubDate>Thu, 05 May 2011 04:22:14 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=689</guid>
		<description><![CDATA[A good suggestion turned up on the forums the other day. Why not add Bold and Italic label styles to complement the existing Normal (Control) and Normal (Panel) styles. Given that many applications need to make these small visual changes it seemed like a good idea and easy to add. So here you are&#8230;]]></description>
			<content:encoded><![CDATA[<p>A good suggestion turned up on the forums the other day. Why not add Bold and Italic label styles to complement the existing Normal (Control) and Normal (Panel) styles. Given that many applications need to make these small visual changes it seemed like a good idea and easy to add. So here you are&#8230;</p>
<p><img class="alignnone" title="Bold and Italic Labels" src="http://www.componentfactory.com/blog/data/upimages/BoldItalicLables.png" alt="Bold and Italic Labels" width="231" height="96" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2011/05/bold-and-italic-styles/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Deep nesting and redrawing</title>
		<link>http://www.componentfactory.com/blog/2011/05/deep-nesting-and-redrawing/</link>
		<comments>http://www.componentfactory.com/blog/2011/05/deep-nesting-and-redrawing/#comments</comments>
		<pubDate>Wed, 04 May 2011 04:04:47 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=684</guid>
		<description><![CDATA[I &#8216;ve had a couple of bug reports for the incorrect drawing of Krypton controls when there is a deep nesting of controls under Windows 7 64bit. You can see what I mean in the following image that shows a test application that has 8 KryptonNavigator instances all inside each other. I spent a couple [...]]]></description>
			<content:encoded><![CDATA[<p>I &#8216;ve had a couple of bug reports for the incorrect drawing of <em>Krypton </em>controls when there is a deep nesting of controls under <em>Windows 7 </em>64bit. You can see what I mean in the following image that shows a test application that has 8 <em>KryptonNavigator </em>instances all inside each other.</p>
<p><img title="Incorrect drawing" class="alignnone" src="http://www.componentfactory.com/blog/data/upimages/OSBUG1.png" alt="Incorrect drawing" width="326" height="356" /></p>
<p>I spent a couple of different attempts investigating this with no luck.  No matter what I did and how I looked at the scenario the <em>Krypton </em>code  did not seem to be doing anything wrong. Fortunately someone spotted a Microsoft Knowledge Base article describing this issue and presenting a workaround. You can read it <a title="KB953934" href="http://support.microsoft.com/kb/953934">here</a>.</p>
<p>The solution to the above problem was to add the following new control and then replace the 4th instance of the <em>KryptonNavigator </em>with the new <em>KryptonNavigatorDelay</em> class.</p>
<pre> public class KryptonNavigatorDelay : KryptonNavigator
 {
   protected override void OnSizeChanged(EventArgs e)
   {
     if (Handle != null)
       BeginInvoke((MethodInvoker)delegate
          { base.OnSizeChanged(e); });
   }
 }</pre>
<p>This results in the following appearance when resizing the window at runtime.</p>
<p><img title="Correct drawing" class="alignnone" src="http://www.componentfactory.com/blog/data/upimages/OSBUG2.png" alt="Correct drawing" width="326" height="355" /></p>
<p>The issue is with the operating system and seems to manifest  itself under <em>Windows 7 </em>64bit when you have a depth of around 16 deep.  Testing with various different controlsdoes not seem to make much difference in the depth required to see problems. Apparently the same problem can occur under 32bit operating systems but not until you have a much deeper level of nesting. Hence you are only likely to have encountered this problem under 64bit.</p>
<p>I cannot simply at the above code to every <em>Krypton </em>container because the solution causes a delay when drawing the control as the <em>BeginInvoke </em>delays execution of the delegate until the current windows message has been completed. So if you experience the issue then you need to check your nesting depth and look at implementing the work around at an appropriate level in the control hierarchy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2011/05/deep-nesting-and-redrawing/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Visual Studio 10 Help</title>
		<link>http://www.componentfactory.com/blog/2011/05/visual-studio-10-help/</link>
		<comments>http://www.componentfactory.com/blog/2011/05/visual-studio-10-help/#comments</comments>
		<pubDate>Wed, 04 May 2011 03:03:31 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=680</guid>
		<description><![CDATA[I recently purchased the latest version of HelpStudio from Innovasys so that I could compile the Krypton help into the new format used by Visual Studio 2010. After a few teething problems it is now working as you can see below&#8230; Visual Studio 2010 SP1 Note however that you need to have SP1 for Visual [...]]]></description>
			<content:encoded><![CDATA[<p>I recently purchased the latest version of <em>HelpStudio </em>from <em>Innovasys </em>so that I could compile the <em>Krypton </em>help into the new format used by <em>Visual Studio 2010</em>. After a few teething problems it is now working as you can see below&#8230;</p>
<p><img class="alignnone" title="Microsoft Help Viewer" src="http://www.componentfactory.com/blog/data/upimages/MHV11.png" alt="Microsoft Help Viewer" width="382" height="273" /></p>
<p><strong><br />
Visual Studio 2010 SP1</strong><br />
Note however that you need to have <em>SP1 </em>for <em>Visual Studio 2010</em> as the <em>SP1 </em>includes an update to the <em>Microsoft Helper Viewer</em> that includes a standalone browser as shown above. This should not be a major issue as developers should be using the latest version anyway.</p>
<p><strong>Installer Size</strong><br />
Another downside is that the installer has ballooned because it includes the extra help so now it is ~116MB instead of the ~67MB before. Given that a large chunk of the older size was the help build used for <em>Visual Studio 2005/2008</em> and you can see that something like 90% of the total installer size is actually just help.</p>
<p><strong>HelpStudio Tips</strong><br />
For those that are also using the <em>HelpStudio </em>product I can pass along a couple of tips. The output from the <em>HelpStudio </em>build is a <em>.mshc </em>file that contains all the help pages.</p>
<p>What is not obvious is that the <em>.mshc</em> file will not work directly if you want to perform a silent install. We don&#8217;t want to require the user to start the help manager and start browsing for the <em>.mshc</em> file so it can be installed into the help system. So instead we want to run a silent install at the end of the <em>Krypton </em>installer.</p>
<p>So you need to take the <em>.mshc</em> file and turn it into a <em>cab </em>file by using the <em>makecab </em>utility. Then you need to sign the cab file using the <em>signtool </em>utility. Pass this signed cab into the silent install and then your good to go.</p>
<p>Another gotcha is the <em>Microsoft Help Viewer</em> will not add a top level node for your help collection, which is what the older help system did, and so your table of contents in <em>HelpStudio </em>should have a single top level node and then everything else appears as a child of that.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2011/05/visual-studio-10-help/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Krypton Suite 4.3.1 Released</title>
		<link>http://www.componentfactory.com/blog/2011/01/krypton-suite-4-3-1-released/</link>
		<comments>http://www.componentfactory.com/blog/2011/01/krypton-suite-4-3-1-released/#comments</comments>
		<pubDate>Wed, 19 Jan 2011 02:14:20 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=674</guid>
		<description><![CDATA[This is a maintenance release containing fixes for various Krypton Toolkit controls. Of particular interest are crashes that have been fixed so that the Krypton components work under 64bit operating systems. Return values from some platform invoke calls were assumed to be 32bit when they were in fact 64bit. Check out the Toolkit change list document using the link [...]]]></description>
			<content:encoded><![CDATA[<p>This is a maintenance release containing fixes for various Krypton Toolkit controls.</p>
<p>Of particular interest are crashes that have been fixed so that the Krypton components work under 64bit operating systems. Return values from some platform invoke calls were assumed to be 32bit when they were in fact 64bit. Check out the Toolkit change list document using the link below to see a full list of changes.</p>
<p><a href="http://www.componentfactory.com/downloads/KryptonSuite431.zip">Download 4.3.1</a></p>
<p><a href="http://www.componentfactory.com/downloads/changeLists/KryptonToolkitChangeList.doc">Toolkit Change List</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2011/01/krypton-suite-4-3-1-released/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Krypton Suite 4.3 Released</title>
		<link>http://www.componentfactory.com/blog/2010/09/krypton-4-3-released/</link>
		<comments>http://www.componentfactory.com/blog/2010/09/krypton-4-3-released/#comments</comments>
		<pubDate>Tue, 14 Sep 2010 04:41:18 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Docking]]></category>
		<category><![CDATA[Krypton Navigator]]></category>
		<category><![CDATA[Krypton Ribbon]]></category>
		<category><![CDATA[Krypton Toolkit]]></category>
		<category><![CDATA[Krypton Workspace]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=669</guid>
		<description><![CDATA[Our latest release includes three new components for the Toolkit. All of these are modal dialogs that are intended to replace your use of the existing message box, task dialog and input box forms. So now your dialogs can be consistent with the rest of the application by also using the Krypton palette styling. The switch to using the [...]]]></description>
			<content:encoded><![CDATA[<p>Our latest release includes three new components for the <em>Toolkit</em>. All of these are modal dialogs that are intended to replace your use of the existing message box, task dialog and input box forms. So now your dialogs can be consistent with the rest of the application by also using the <em>Krypton</em> palette styling.</p>
<p>The switch to using the <em>KryptonMessageBox</em> is very easy because you only need to perform a <em>Find/Replace</em> of the phrase <em>MessageBox.Show</em> with <em>KryptonMessageBox.Show</em>. This is because the exact same static <em>Show</em> methods have been used in the <em>Krypton</em> implementation as exist for the <em>MessageBox</em> which ensures an easy upgrade path. Check out the three new samples that can be accessed from the <em>KryptonExplorer</em> in order to see them working and experiment with the different settings that are possible.</p>
<p>Also present in this release is an important bug fix. Under Windows 7 the showing of a dialog that is derived from <em>KryptonForm</em> can fail. The bug is very nasty in that the dialog simply fails to be drawn on the screen, which is likely to be very confusing for your users. This has now been fixed. For a full list of changes you should check out the change lists that are installed.</p>
<p><strong>New Components</strong><br />
- KryptonMessageBox<br />
- KryptonTaskDialog<br />
- KryptonInputBox</p>
<p><a href="http://www.componentfactory.com/downloads/KryptonSuite430.zip">Download 4.3</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2010/09/krypton-4-3-released/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>KryptonInputBox</title>
		<link>http://www.componentfactory.com/blog/2010/09/kryptoninputbox/</link>
		<comments>http://www.componentfactory.com/blog/2010/09/kryptoninputbox/#comments</comments>
		<pubDate>Fri, 10 Sep 2010 03:11:57 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=666</guid>
		<description><![CDATA[It&#8217;s not often I add something to make VB programmers happy, but today I have gone crazy and added a component called KryptonInputBox that is a Kryptonized version of the InputBox that VB.NET programmers take for granted. It is a very simple dialog box that allows the user to enter a string. There is little [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s not often I add something to make VB programmers happy, but today I have gone crazy and added a component called <em>KryptonInputBox</em> that is a <em>Kryptonized</em> version of the <em>InputBox</em> that VB.NET programmers take for granted. It is a very simple dialog box that allows the user to enter a string. There is little customization possible, you can only alter the window title, the user prompt and the default value that populates the text box.</p>
<p>You can use it in the following way&#8230;</p>
<pre><span style="color: #0000ff;">   string result = KryptonInputBox.Show("Prompt",
                                        "Window Title",
                                        "Response");</span></pre>
<p>This results in the following appearance&#8230;</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/IB.jpg" alt="" /></p>
<p>Don&#8217;t say I never do anything for the VB.NET community!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2010/09/kryptoninputbox/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>KryptonTaskDialog</title>
		<link>http://www.componentfactory.com/blog/2010/09/kryptontaskdialog/</link>
		<comments>http://www.componentfactory.com/blog/2010/09/kryptontaskdialog/#comments</comments>
		<pubDate>Wed, 08 Sep 2010 02:34:49 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=664</guid>
		<description><![CDATA[Now that we have added a Kryptonized version of the MessageBox it seems reasonable to keep that theme going and add a Krypton version of the TaskDialog. For those not familiar with the TaskDialog it&#8217;s a feature added with Windows Vista and is essentially a MessageBox on steroids. I would however point out that our Krypton version [...]]]></description>
			<content:encoded><![CDATA[<p>Now that we have added a <em>Kryptonized</em> version of the <em>MessageBox</em> it seems reasonable to keep that theme going and add a <em>Krypton</em> version of the <em>TaskDialog. </em>For those not familiar with the <em>TaskDialog</em> it&#8217;s a feature added with <em>Windows Vista</em> and is essentially a <em>MessageBox</em> on steroids.</p>
<p>I would however point out that our <em>Krypton</em> version is not intended as an exact copy. It is very similar but it might not contain absolutely everything that is possible with the operating system version of the dialog. However, something is better than nothing and so here is what we have.</p>
<p><strong>Basic Settings<br />
</strong>The most basic settings allow for a window title, main instructions, content details, associated icon and the specification of dialog buttons.  You can omit any of these values in which case they will not be displayed. Here is an example of the dialog when they have all been specified with simple values&#8230;</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/TDBasic.jpg" alt="" /></p>
<p><strong>CheckBox Settings</strong><br />
You can optionally define a <em>CheckBox</em> that is presented in the same area as the dialog buttons. You can define the text for the control as well as the initial checked state. This is more useful than it might first appear. A common scenario is to present warning messages to the user, but ff the user finds these annoying the checkbox could be checked to indicate that the warnings should be suppressed in the future. Or maybe the checkbox is used to indicate that the selected option should always be used in the future without the need to ask again.</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/TDCheckBox.jpg" alt="" /></p>
<p><strong>Footer Settings</strong><br />
Additional information can be shown to the user in the footer area of the dialog. You can set an image, footer text and hyperlink text for this area or any combination of the three values. This is very useful if you want to allow additional help documentation or webpages to be shown in response to a hyperlink being pressed.</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/TDFooter.jpg" alt="" /></p>
<p><strong>Radio Button</strong><br />
Use the radio button feature to present a multiple choice to the user. A simple collection property is used to specify the list of possible options and the selected value is available as a property on the <em>KryptonTaskDialog</em> class when the dialog has been removed.</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/TDRadio.jpg" alt="" /></p>
<p><strong>Command Settings</strong><br />
This is similar to the radio buttons except the choices are presented as a set of buttons. Each button is assigned a <em>DialogResult</em> value and so on return from the dialog being dismissed you can check the return <em>DialogResult</em> to see which command was selected by the user.</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/TDCommand.jpg" alt="" /></p>
<p>As an extreme example you could even specify all the possible features and show the following&#8230;</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/TDAll.jpg" alt="" /></p>
<p>&#8230;although I am not sure your users would appreciate such a monstrosity!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2010/09/kryptontaskdialog/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>KryptonMessageBox</title>
		<link>http://www.componentfactory.com/blog/2010/08/kryptonmessagebox/</link>
		<comments>http://www.componentfactory.com/blog/2010/08/kryptonmessagebox/#comments</comments>
		<pubDate>Sun, 29 Aug 2010 23:52:49 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=662</guid>
		<description><![CDATA[Due to popular demand, well at least 2 people anyway, I have added a Kryptonized version of the standard windows MessageBox funtionality. In order to make it fully backward compatible I have provided a set of static methods that have identical parameters to the existing MessageBox methods. So you need only perform a search and [...]]]></description>
			<content:encoded><![CDATA[<p>Due to popular demand, well at least 2 people anyway, I have added a <em>Kryptonized</em> version of the standard windows <em>MessageBox</em> funtionality. In order to make it fully backward compatible I have provided a set of static methods that have identical parameters to the existing <em>MessageBox</em> methods. So you need only perform a search and replace of the existing <em>MessageBox.Show</em> methods so they become <em>KryptonMessageBox.Show</em> instead.</p>
<p>Here you have some examples of the appearance using different palettes&#8230;</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/KMB.png" alt="" /></p>
<p>The text used in the buttons is localizable and exposed via the <em>KryptonManager</em> component. So if you need to define text for non-English systems you can update the new <em>GlobalStrings</em> property of the manager and all message boxes will then use those updated strings.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2010/08/kryptonmessagebox/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Missing Modal Windows</title>
		<link>http://www.componentfactory.com/blog/2010/08/missing-modal-windows/</link>
		<comments>http://www.componentfactory.com/blog/2010/08/missing-modal-windows/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 01:57:07 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=658</guid>
		<description><![CDATA[If you are using a Krypton application on Windows 7 machines then you need to be aware of a potential bug that is quite nasty. When using ShowDialog to show a window that derives from KryptonForm the window will sometimes not appear. This only seems to be the case when you have the Desktop Window Manager (DWM) [...]]]></description>
			<content:encoded><![CDATA[<p>If you are using a <em>Krypton</em> application on Windows 7 machines then you need to be aware of a potential bug that is quite nasty. When using <em>ShowDialog</em> to show a window that derives from <em>KryptonForm</em> the window will sometimes not appear. This only seems to be the case when you have the <em>Desktop Window Manager</em> (<em>DWM</em>) enabled. It will effectively be invisible even though it has been successfully created.</p>
<p>For those now aware, the <em>DWM</em> is responsible for the <em>Aero </em>theme (sometimes known as the glass). Needless to say, your customers are going to be confused if a window is just plain missing. In fact your developers are going to be pretty confused as well.</p>
<p>The workaround for this is quite simple. You need to hook into the <em>Shown</em> event of the modal window and then add the following call to the <em>PerformNeedPaint</em> method:-</p>
<pre><span style="color: #0000ff;">    private void Form1_Shown(object sender, EventArgs e)
    {
        PerformNeedPaint(true);
    }</span></pre>
<p>I expect to release a maintenance release in about three weeks that will include this fix along with any other fixes and changes that accumulate between now and then.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2010/08/missing-modal-windows/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Krypton Suite 4.2 Released</title>
		<link>http://www.componentfactory.com/blog/2010/07/krypton-suite-4-2-released/</link>
		<comments>http://www.componentfactory.com/blog/2010/07/krypton-suite-4-2-released/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 03:25:11 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Docking]]></category>
		<category><![CDATA[Krypton Navigator]]></category>
		<category><![CDATA[Krypton Ribbon]]></category>
		<category><![CDATA[Krypton Toolkit]]></category>
		<category><![CDATA[Krypton Workspace]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=653</guid>
		<description><![CDATA[This new release is smaller than usual but does contain a new Toolkit control called the KryptonTrackBar. It acts like the standard windows version allowing the user to drag a position indicator along a track. It also has the ability to draw the track as a triangle and so giving the appearance of a volume control. [...]]]></description>
			<content:encoded><![CDATA[<p>This new release is smaller than usual but does contain a new Toolkit control called the KryptonTrackBar. It acts like the standard windows version allowing the user to drag a position indicator along a track. It also has the ability to draw the track as a triangle and so giving the appearance of a volume control. Always provided are a number of bug fixes and more minor additions.</p>
<p>Please download using the following direct link…</p>
<p><a href="http://www.componentfactory.com/downloads/KryptonSuite420.zip">Download 4.2</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2010/07/krypton-suite-4-2-released/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Volume Control</title>
		<link>http://www.componentfactory.com/blog/2010/05/volume-control/</link>
		<comments>http://www.componentfactory.com/blog/2010/05/volume-control/#comments</comments>
		<pubDate>Wed, 26 May 2010 00:34:34 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=651</guid>
		<description><![CDATA[Thanks to Serge Wautier for the idea of allowing the track bar to be a volumn control. I have added a VolumeControl property that is a simple boolean. When defined it just makes the track a big bigger and draws it as a wedge instead of a rectangle. A trivial change to the control but [...]]]></description>
			<content:encoded><![CDATA[<p>Thanks to Serge Wautier for the idea of allowing the track bar to be a volumn control. I have added a <em>VolumeControl</em> property that is a simple boolean. When defined it just makes the track a big bigger and draws it as a wedge instead of a rectangle. A trivial change to the control but maybe it will be useful to a few developers that need such a control.</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/VolumnControl.jpg" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2010/05/volume-control/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>KryptonTrackBar Rendering</title>
		<link>http://www.componentfactory.com/blog/2010/05/kryptontrackbar-rendering/</link>
		<comments>http://www.componentfactory.com/blog/2010/05/kryptontrackbar-rendering/#comments</comments>
		<pubDate>Thu, 20 May 2010 04:26:54 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=646</guid>
		<description><![CDATA[The KryptonTrackBar is now completed.  It has a TrackBarSize enumeration property with three values of Small, Medium and Large. You can see the difference in sizing in the above image that shows them in size order. It has all the same properties as the standard windows control and so you can specify the tick marks to [...]]]></description>
			<content:encoded><![CDATA[<p>The <em>KryptonTrackBar</em> is now completed. </p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/KTB2A.jpg" alt="" /></p>
<p>It has a <em>TrackBarSize</em> enumeration property with three values of <em>Small</em>, <em>Medium</em> and <em>Large</em>. You can see the difference in sizing in the above image that shows them in size order. It has all the same properties as the standard windows control and so you can specify the tick marks to be below, above, both or none as needed. Above you can see the first three of those options displayed.</p>
<p>Altering the <em>Orientation</em> to vertical gives the following&#8230;</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/KTB2B.jpg" alt="" /></p>
<p>The above is drawn for the <em>Professional System</em> palette under Windows 7. The first image was using the <em>Office 2010 Blue</em> palette.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2010/05/kryptontrackbar-rendering/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>KryptonTrackBar, kinda</title>
		<link>http://www.componentfactory.com/blog/2010/05/kryptontrackbar-kinda/</link>
		<comments>http://www.componentfactory.com/blog/2010/05/kryptontrackbar-kinda/#comments</comments>
		<pubDate>Tue, 11 May 2010 03:49:37 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=644</guid>
		<description><![CDATA[In the following image there is a standard windows TrackBar and two KryptonTrackBar instances. Can you spot which is which? As you can tell the control is not quite finished as yet. The control is fully working allowing you to use the mouse to move the marker, use the keyboard and even responds to the [...]]]></description>
			<content:encoded><![CDATA[<p>In the following image there is a standard windows TrackBar and two KryptonTrackBar instances. Can you spot which is which?</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/KTB1.jpg" alt="" /></p>
<p>As you can tell the control is not quite finished as yet. The control is fully working allowing you to use the mouse to move the marker, use the keyboard and even responds to the mouse wheel. Now I just need to hook it into the rendering engine and add some code to actually draw appropriately.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2010/05/kryptontrackbar-kinda/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Krypton Suite 4.1.5 Released</title>
		<link>http://www.componentfactory.com/blog/2010/03/krypton-suite-4-1-5-released/</link>
		<comments>http://www.componentfactory.com/blog/2010/03/krypton-suite-4-1-5-released/#comments</comments>
		<pubDate>Sun, 28 Mar 2010 04:40:44 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Docking]]></category>
		<category><![CDATA[Krypton Navigator]]></category>
		<category><![CDATA[Krypton Ribbon]]></category>
		<category><![CDATA[Krypton Toolkit]]></category>
		<category><![CDATA[Krypton Workspace]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=629</guid>
		<description><![CDATA[The latest maintenance release of the Krypton Suite is now available for download. Please download using the following direct link&#8230; Download 4.1.5 Major Change    &#8211; Moved all design time classes to separate assembly New KryptonDataGridView Columns    &#8211; KryptonDataGridViewComboBoxColumn    &#8211; KryptonDataGridViewNumericUpDownColumn    &#8211; KryptonDataGridViewDomainUpDownColumn    &#8211; KryptonDataGridViewMaskedTextBoxColumn    &#8211; KryptonDataGridViewDateTimePickerColumn Major Bug fixes [...]]]></description>
			<content:encoded><![CDATA[<p>The latest maintenance release of the Krypton Suite is now available for download.</p>
<p>Please download using the following direct link&#8230;</p>
<p><a href="http://www.componentfactory.com/downloads/KryptonSuite415.zip">Download 4.1.5</a></p>
<p><strong>Major Change<br />
</strong>   &#8211; Moved all design time classes to separate assembly</p>
<p><strong>New KryptonDataGridView Columns</strong><br />
   &#8211; KryptonDataGridViewComboBoxColumn<br />
   &#8211; KryptonDataGridViewNumericUpDownColumn<br />
   &#8211; KryptonDataGridViewDomainUpDownColumn<br />
   &#8211; KryptonDataGridViewMaskedTextBoxColumn<br />
   &#8211; KryptonDataGridViewDateTimePickerColumn</p>
<p><strong>Major Bug fixes</strong><br />
   &#8211; TAB key works inside Navigator<br />
   &#8211; AutoComplete works for KryptonComboBox<br />
   &#8211; KryptonGallery memory usage improved</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2010/03/krypton-suite-4-1-5-released/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Krypton Suite Beta</title>
		<link>http://www.componentfactory.com/blog/2010/03/krypton-suite-beta/</link>
		<comments>http://www.componentfactory.com/blog/2010/03/krypton-suite-beta/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 08:12:29 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Docking]]></category>
		<category><![CDATA[Krypton Navigator]]></category>
		<category><![CDATA[Krypton Ribbon]]></category>
		<category><![CDATA[Krypton Toolkit]]></category>
		<category><![CDATA[Krypton Workspace]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=627</guid>
		<description><![CDATA[A beta version of the next release is now available for testing. It is number 4.1.4 and contains bug fixes and some minor new functionality with the addition of some KryptonDataGridView columns. You can download using the following link&#8230; Download Kryton Beta]]></description>
			<content:encoded><![CDATA[<p>A beta version of the next release is now available for testing. It is number 4.1.4 and contains bug fixes and some minor new functionality with the addition of some KryptonDataGridView columns. You can download using the following link&#8230;</p>
<p><a href="http://www.componentfactory.com/downloads/KryptonSuite414.zip">Download Kryton Beta</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2010/03/krypton-suite-beta/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Krypton.Design</title>
		<link>http://www.componentfactory.com/blog/2010/02/componentfactory-krypton-design/</link>
		<comments>http://www.componentfactory.com/blog/2010/02/componentfactory-krypton-design/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 11:11:58 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Navigator]]></category>
		<category><![CDATA[Krypton Ribbon]]></category>
		<category><![CDATA[Krypton Toolkit]]></category>
		<category><![CDATA[Krypton Workspace]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=611</guid>
		<description><![CDATA[One of the new features of .NET Framework 4.0 is the introduction of Client Profiles. The Client Profile is a cut down version of the full .NET Framework that only includes the essential assemblies needed for client based applications. The idea is to reduce the download/install size for this common deployment scenario. Design time classes are not [...]]]></description>
			<content:encoded><![CDATA[<p>One of the new features of <em>.NET Framework 4.0</em> is the introduction of <em>Client Profiles</em>. The <em>Client Profile</em> is a cut down version of the full <em>.NET Framework</em> that only includes the essential assemblies needed for client based applications. The idea is to reduce the download/install size for this common deployment scenario. Design time classes are not part of the client profile because they are implicitly only needed for designing and not for running your applications.</p>
<p>At the moment <em>Krypton</em> cannot be used in this situation because the <em>Krypton</em> design time classes are placed inside the same assembly as the relevant controls. So the <em>Krypton Toolkit</em> design time classes are inside the <em>Toolkit</em> assembly, <em>Krypton Ribbon</em> design time classes inside the <em>Ribbon</em> assembly and so forth. But the design time assembly is not included in the client profile and so the <em>Krypton</em> assemblies will not be loadable.</p>
<p>To enable this scenario I have now created a new <em>ComponentFactory.Krypton.Design</em> assembly and moved all the design time classes into it. This means you can write a client profile application that references the <em>Krypton Toolkit/Ribbon/Navigator/Workspace/Docking</em> assemblies and it will work just fine because the <em>Krypton</em> assemblies no longer reference the <em>System.Design</em> namespace.</p>
<p>Note that client profiles are a feature exposed in <em>Visual Studio 2010</em> and so you will only be aware of them if you have downloaded and played with that version.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2010/02/componentfactory-krypton-design/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>DataGridView ButtonSpecs</title>
		<link>http://www.componentfactory.com/blog/2010/01/datagridview-buttonspecs/</link>
		<comments>http://www.componentfactory.com/blog/2010/01/datagridview-buttonspecs/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 04:55:12 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=602</guid>
		<description><![CDATA[It seems I cannot get away without having button specs on the new columns. So I&#8217;ve added a ButtonSpecs collection to the column class of each of the following types&#8230; DateTimePicker MaskedTextBox NumericUpDown DomainUpDown ComboBox Here you can see a couple of example images&#8230; To make life a little easier for the developer I have [...]]]></description>
			<content:encoded><![CDATA[<p>It seems I cannot get away without having button specs on the new columns. So I&#8217;ve added a <em>ButtonSpecs</em> collection to the column class of each of the following types&#8230;</p>
<ul>
<li>DateTimePicker</li>
<li>MaskedTextBox</li>
<li>NumericUpDown</li>
<li>DomainUpDown</li>
<li>ComboBox</li>
</ul>
<p>Here you can see a couple of example images&#8230;</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/DGV5A.jpg" alt="" /></p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/DGV5B.jpg" alt="" /></p>
<p>To make life a little easier for the developer I have added a <em>ButtonSpecClick</em> event onto the columns that is fired whenever any button spec is clicked for any cell in that column. This event has parameters that made it easy to get hold of the column, cell and button spec instances involved in that click. Stops you needing to walk around the data structures finding your way from the button spec to the cell and then the column, which although not hard is certainly a pain to work out each time you need to do it.</p>
<p>Note that there are no button specs on the already defined Krypton columns  TextBox/CheckBox/Button/Link. This is because they work in a different way that makes it impractical to add them. All the new columns have an instance of an actual control that is used when editing the cell. So when you click on a numeric column it uses a <em>KryptonNumericUpDown</em> instance perform the drawing and editing. As the <em>KryptonNumericUpDown</em> already has support for button specs this makes it possible to add that capability by moving the button specs from the column collection into the control for the duration of editing. But the TextBox/CheckBox/Button/Link columns all perform drawing by using direct calls to the renderer and adding extra code to simulate the presence of buttons is not a pleasant thought.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2010/01/datagridview-buttonspecs/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>DataGridView Requests?</title>
		<link>http://www.componentfactory.com/blog/2010/01/datagridview-requests/</link>
		<comments>http://www.componentfactory.com/blog/2010/01/datagridview-requests/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 01:08:21 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=600</guid>
		<description><![CDATA[I thought the MaskedTextBox column would be the last addition for the DataGridView but it seems there is more interest in columns than I anticipated. I was trying to think of other useful ones. Would a column for editing a colour be useful? Does anyone actually need to do this at the moment? What data [...]]]></description>
			<content:encoded><![CDATA[<p>I thought the <em>MaskedTextBox</em> column would be the last addition for the <em>DataGridView</em> but it seems there is more interest in columns than I anticipated. I was trying to think of other useful ones. Would a column for editing a colour be useful? Does anyone actually need to do this at the moment? What data type is the column itself?</p>
<p>Apart from a drop button and colour column what others are people in need of? I cannot promise to add what people request but if it sounds generally useful and not overly time consuming to add then I will certainly consider it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2010/01/datagridview-requests/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>DataGridView MaskedTextBox</title>
		<link>http://www.componentfactory.com/blog/2010/01/datagridview-maskedtextbox/</link>
		<comments>http://www.componentfactory.com/blog/2010/01/datagridview-maskedtextbox/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 01:37:14 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=598</guid>
		<description><![CDATA[Our final addition in a series of new column types allows a KryptonMaskedTextBox to be used for displaying and editing cells values. Here you can see two columns using the new column&#8230;  I setup the first column with a mask of &#8220;(99) 9999-9999&#8243; and the second is defined to use the system password character in order [...]]]></description>
			<content:encoded><![CDATA[<p>Our final addition in a series of new column types allows a <em>KryptonMaskedTextBox</em> to be used for displaying and editing cells values. Here you can see two columns using the new column&#8230; </p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/DGVMTB.jpg" alt="" /></p>
<p>I setup the first column with a mask of &#8220;<em>(99) 9999-9999&#8243;</em> and the second is defined to use the system password character in order to hide the underlying text value. Using the masked text box is a great way of achieving a formatted appearance to underlying string values and also ensuring the user can only enter valid values.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2010/01/datagridview-maskedtextbox/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>DataGridView DateTimePicker</title>
		<link>http://www.componentfactory.com/blog/2010/01/datagridview-datetimepicker/</link>
		<comments>http://www.componentfactory.com/blog/2010/01/datagridview-datetimepicker/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 05:18:12 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=594</guid>
		<description><![CDATA[Editing dates and times in the KryptonDataGridView is a requirement for almost all business applications. Well now its easy with the addition of the inconveniently long named column type of KryptonDataGridViewDateTimePickerColumn. You can use the column type to edit DateTime typed columns as shown here&#8230; All three columns are defined using our new column type but by altering [...]]]></description>
			<content:encoded><![CDATA[<p>Editing dates and times in the <em>KryptonDataGridView</em> is a requirement for almost all business applications. Well now its easy with the addition of the inconveniently long named column type of <em>KryptonDataGridViewDateTimePickerColumn</em>. You can use the column type to edit <em>DateTime</em> typed columns as shown here&#8230;</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/DGV3A.jpg" alt="" /></p>
<p>All three columns are defined using our new column type but by altering the <em>Format, CustomFormat</em> and other column properties we can choose to only show and allowing editing of the <em>Date</em> part, <em>Time</em> part or both. It can handle null able columns as well, just remember to set the <em>ShowCheckBox</em> to <em>True</em> for a null able column so that the user can make an entry null able again after setting a <em>DateTime</em> value.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2010/01/datagridview-datetimepicker/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>DataGridView Drawing</title>
		<link>http://www.componentfactory.com/blog/2010/01/datagridview-drawing/</link>
		<comments>http://www.componentfactory.com/blog/2010/01/datagridview-drawing/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 02:33:19 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=592</guid>
		<description><![CDATA[In response to feedback on the last three posts I have now updated the new NumericUpDown, DomainUpDown and ComboBox custom columns so that they only draw the buttons when they are being edited. Here you can see all three new columns types in normal as well as editing states&#8230; There is a property on the [...]]]></description>
			<content:encoded><![CDATA[<p>In response to feedback on the last three posts I have now updated the new <em>NumericUpDown</em>, <em>DomainUpDown</em> and <em>ComboBox</em> custom columns so that they only draw the buttons when they are being edited. Here you can see all three new columns types in normal as well as editing states&#8230;</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/DGV2A.jpg" alt="" /></p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/DGV2B.jpg" alt="" /></p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/DGV2C.jpg" alt="" /></p>
<p>There is a property on the column so that you can draw them with the buttons all the time but the default is as above. Also note that you get full auto suggest and auto append functionality in the <em>ComboBox</em> column. You can see that in action above as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2010/01/datagridview-drawing/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>DataGridView ComboBox</title>
		<link>http://www.componentfactory.com/blog/2010/01/datagridview-combobox/</link>
		<comments>http://www.componentfactory.com/blog/2010/01/datagridview-combobox/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 01:53:15 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=588</guid>
		<description><![CDATA[KryptonDataGridViewComboBoxColumn You can now use the KryptonComboBox in a text typed column. This is great if you have a small set of possible values and allows the full list to be available from the drop down. Also useful if you have common values that you want to be accessed from the drop down whilst the [...]]]></description>
			<content:encoded><![CDATA[<p><strong>KryptonDataGridViewComboBoxColumn</strong></p>
<p>You can now use the <em>KryptonComboBox</em> in a text typed column. This is great if you have a small set of possible values and allows the full list to be available from the drop down. Also useful if you have common values that you want to be accessed from the drop down whilst the editing portion remains editable. Here you are see it in action&#8230;</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/DGVCBC.jpg" alt="" /></p>
<p>Youc an specify the set of combo box strings in the columns <em>Items</em> collection.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2010/01/datagridview-combobox/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>DataGridView DomainUpDown</title>
		<link>http://www.componentfactory.com/blog/2010/01/datagridview-domainupdown/</link>
		<comments>http://www.componentfactory.com/blog/2010/01/datagridview-domainupdown/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 03:25:10 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=586</guid>
		<description><![CDATA[KryptonDataGridViewDomainUpDownColumn A control that is less used than it should be is the DomainUpDown. It&#8217;s really handy when you want the user to able to enter any text they like but you also want them to have a simple list of common options they can scroll through. You can now use the KryptonDomainUpDown in a [...]]]></description>
			<content:encoded><![CDATA[<p><strong>KryptonDataGridViewDomainUpDownColumn</strong></p>
<p>A control that is less used than it should be is the <em>DomainUpDown</em>. It&#8217;s really handy when you want the user to able to enter any text they like but you also want them to have a simple list of common options they can scroll through. You can now use the <em>KryptonDomainUpDown</em> in a text typed column. Here you are see it in action&#8230;</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/DGVDUPC.jpg" alt="" /></p>
<p>Youc an specify the set of predefined strings in the columns <em>Items</em> collection.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2010/01/datagridview-domainupdown/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DataGridView NumericUpDown</title>
		<link>http://www.componentfactory.com/blog/2009/12/datagridview-numericupdown/</link>
		<comments>http://www.componentfactory.com/blog/2009/12/datagridview-numericupdown/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 04:17:30 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=581</guid>
		<description><![CDATA[KryptonDataGridViewNumericUpDownColumn This rather long class name can be used to add a KryptonNumericUpDown control for the editing of Decimal values in a KryptonDataGridView control. You can see the new column type in operation here&#8230; Youc an specify the Minimum, Maximum, ThousandsSeparator, DecimalPlaces, Hexadecimal and Increment values for the column.]]></description>
			<content:encoded><![CDATA[<p><strong>KryptonDataGridViewNumericUpDownColumn</strong></p>
<p>This rather long class name can be used to add a <em>KryptonNumericUpDown</em> control for the editing of <em>Decimal</em> values in a <em>KryptonDataGridView</em> control. You can see the new column type in operation here&#8230;</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/DGVNUPC.jpg" alt="" /></p>
<p>Youc an specify the <em>Minimum</em>, <em>Maximum</em>, <em>ThousandsSeparator, DecimalPlaces, Hexadecimal</em> and <em>Increment</em> values for the column.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2009/12/datagridview-numericupdown/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Krypton 4.1.1 Released</title>
		<link>http://www.componentfactory.com/blog/2009/12/krypton-4-1-1-released/</link>
		<comments>http://www.componentfactory.com/blog/2009/12/krypton-4-1-1-released/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 02:56:24 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Docking]]></category>
		<category><![CDATA[Krypton Navigator]]></category>
		<category><![CDATA[Krypton Ribbon]]></category>
		<category><![CDATA[Krypton Toolkit]]></category>
		<category><![CDATA[Krypton Workspace]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=577</guid>
		<description><![CDATA[This is a maintenance release that contains bug fixes and just a single change in functionality. I recommend that you read the change list files, that are linked below, in order to see the full list of bugs that have been fixed. Also included is a fix to the installer that prevents the Krypton controls from appearing multiple times [...]]]></description>
			<content:encoded><![CDATA[<p>This is a maintenance release that contains bug fixes and just a single change in functionality. I recommend that you read the change list files, that are linked below, in order to see the full list of bugs that have been fixed. Also included is a fix to the installer that prevents the Krypton controls from appearing multiple times inside the Toolbox.</p>
<p>The single functional change is to the Office 2010 palettes. As the result of a developer <a href="http://www.componentfactory.com/forums/viewtopic.php?f=3&amp;t=2749">poll</a> indicated that people wanted the default size of the Office 2010 palettes changed to match that of the Office 2007 palettes. This change has been made in this release. You can however revert those palettes to the smaller size, or indeed any size you like, using the following example code&#8230;</p>
<p>   KryptonManager.PaletteOffice2010Blue.BaseFontSize = 8.5f;<br />
   KryptonManager.PaletteOffice2010Silver.BaseFontSize = 8.5f;<br />
   KryptonManager.PaletteOffice2010Black.BaseFontSize = 8.5f;</p>
<p>This new <em>BaseFontSize</em> property is available on the built-in palettes except the <em>Professional</em> variations. There is also a <em>BaseFontName</em> that allows the font to be changed away from the default <em>Segoe UI</em> setting.<br />
 </p>
<p><strong>Download Link<br />
</strong><a href="http://www.componentfactory.com/downloads/KryptonSuite411.zip">Download Krypton 4.1.1</a></p>
<p><strong>Change Lists<br />
</strong><a href="http://www.componentfactory.com/downloads/changeLists/KryptonToolkitChangeList.doc">Toolkit Change List</a><br />
<a href="http://www.componentfactory.com/downloads/changeLists/KryptonRibbonChangeList.doc">Ribbon Change List</a><br />
<a href="http://www.componentfactory.com/downloads/changeLists/KryptonNavigatorChangeList.doc">Navigator Change List</a><br />
<a href="http://www.componentfactory.com/downloads/changeLists/KryptonWorkspaceChangeList.doc">Workspace Change List</a><br />
<a href="http://www.componentfactory.com/downloads/changeLists/KryptonDockingChangeList.doc">Docking Change List</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2009/12/krypton-4-1-1-released/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Krypton 4.1.1 RC</title>
		<link>http://www.componentfactory.com/blog/2009/12/krypton-4-1-1-rc/</link>
		<comments>http://www.componentfactory.com/blog/2009/12/krypton-4-1-1-rc/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 11:41:41 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Docking]]></category>
		<category><![CDATA[Krypton Navigator]]></category>
		<category><![CDATA[Krypton Ribbon]]></category>
		<category><![CDATA[Krypton Toolkit]]></category>
		<category><![CDATA[Krypton Workspace]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=575</guid>
		<description><![CDATA[You can download the Krypton 4.1.1 Release Candidate using the link at the bottom of this post. It contains bug fixes across all the major controls, an installer fix to prevent multiple control instances appearing inside the Toolbox, another installer fix so that docking components appear inside the Toolbox and a single extra piece of functionality. The extra functionality [...]]]></description>
			<content:encoded><![CDATA[<p>You can download the Krypton 4.1.1 Release Candidate using the link at the bottom of this post. It contains bug fixes across all the major controls, an installer fix to prevent multiple control instances appearing inside the Toolbox, another installer fix so that docking components appear inside the Toolbox and a single extra piece of functionality.</p>
<p>The extra functionality is a property that sets the base font size&#8230;</p>
<p>kryptonManager.PaletteOffice2010Blue.BaseFontSize = 9.5f;</p>
<p>This property is only provided on the built in palettes and can be accessed via the KryptonManager as seen in the above code example. This allows those that would like a bigger font for the Office 2010 palettes to achieve it using the above example code. Please report any issues inside the post comments or via a direct email to myself.</p>
<p><a href="http://www.componentfactory.com/downloads/KryptonSuite411.zip">Download 4.1.1</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2009/12/krypton-4-1-1-rc/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Office 2010 Poll</title>
		<link>http://www.componentfactory.com/blog/2009/12/office-2010-poll/</link>
		<comments>http://www.componentfactory.com/blog/2009/12/office-2010-poll/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 00:42:42 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=573</guid>
		<description><![CDATA[I&#8217;ve had feedback from several developers that the smaller font size of the Office 2010 palettes is a real pain in the backside. Because all the other palettes have the same size font it makes it possible to create a single layout for a form and when switching palettes it will still look good. But [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had feedback from several developers that the smaller font size of the Office 2010 palettes is a real pain in the backside. Because all the other palettes have the same size font it makes it possible to create a single layout for a form and when switching palettes it will still look good. But the smaller font of Offie 2010 palettes causes this to start failing.</p>
<p>This sounds like a valid issue. So I have started a poll on the forums in order to gather feedback. If a clear majority want the font made bigger to match the other palettes then the 4.1.1 release will be updated to make that happen. Note however that the ribbon fonts will not change as they look fine as they are. The ribbon is self contained and so there is no need to update the fonts for the ribbon itself.</p>
<p>If you want to vote then visit the forum link here&#8230;</p>
<p><a href="http://www.componentfactory.com/forums/viewtopic.php?f=3&amp;t=2749">Poll on Forums</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2009/12/office-2010-poll/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Krypton 4.1 Released</title>
		<link>http://www.componentfactory.com/blog/2009/11/krypton-4-1-released/</link>
		<comments>http://www.componentfactory.com/blog/2009/11/krypton-4-1-released/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 07:55:12 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Docking]]></category>
		<category><![CDATA[Krypton Navigator]]></category>
		<category><![CDATA[Krypton Ribbon]]></category>
		<category><![CDATA[Krypton Toolkit]]></category>
		<category><![CDATA[Krypton Workspace]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=563</guid>
		<description><![CDATA[Download using this direct link&#8230; KryptonSuite410.zip New for Version 4.1 - Office 2010 Blue/Silver/Black Palettes - Office 2010 Style Ribbon - KryptonGroupBox - Various bug fixes Change Lists - KryptonToolkitChangeList.doc - KryptonNavigatorChangeList.doc - KryptonWorkspaceChangeList.doc - KryptonRibbonChangeList.doc - KryptonDockingChangeList.doc]]></description>
			<content:encoded><![CDATA[<p>Download using this direct link&#8230;<br />
<a href="http://www.componentfactory.com/downloads/KryptonSuite410.zip">KryptonSuite410.zip</a></p>
<p>New for Version 4.1<br />
- Office 2010 Blue/Silver/Black Palettes<br />
- Office 2010 Style Ribbon<br />
- KryptonGroupBox<br />
- Various bug fixes</p>
<p>Change Lists<br />
- <a href="http://www.componentfactory.com/downloads/changeLists/KryptonToolkitChangeList.doc">KryptonToolkitChangeList.doc</a><br />
- <a href="http://www.componentfactory.com/downloads/changeLists/KryptonNavigatorChangeList.doc">KryptonNavigatorChangeList.doc</a><br />
- <a href="http://www.componentfactory.com/downloads/changeLists/KryptonWorkspaceChangeList.doc">KryptonWorkspaceChangeList.doc</a><br />
- <a href="http://www.componentfactory.com/downloads/changeLists/KryptonRibbonChangeList.doc">KryptonRibbonChangeList.doc</a><br />
- <a href="http://www.componentfactory.com/downloads/changeLists/KryptonDockingChangeList.doc">KryptonDockingChangeList.doc</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2009/11/krypton-4-1-released/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Krypton 4.1 Beta</title>
		<link>http://www.componentfactory.com/blog/2009/11/559/</link>
		<comments>http://www.componentfactory.com/blog/2009/11/559/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 06:40:35 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Docking]]></category>
		<category><![CDATA[Krypton Navigator]]></category>
		<category><![CDATA[Krypton Ribbon]]></category>
		<category><![CDATA[Krypton Toolkit]]></category>
		<category><![CDATA[Krypton Workspace]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=559</guid>
		<description><![CDATA[Krypton 4.1 Beta For those interested in the new Office 2010 palettes or maybe the new KryptonGroupBox control you can download the Beta of the upcoming 4.1 release from here&#8230; Download Beta]]></description>
			<content:encoded><![CDATA[<p><strong>Krypton 4.1 Beta</strong></p>
<p>For those interested in the new <em>Office 2010</em> palettes or maybe the new <em>KryptonGroupBox</em> control you can download the Beta of the upcoming 4.1 release from here&#8230;</p>
<p><a href="http://www.componentfactory.com/downloads/KryptonSuite405.zip">Download Beta</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2009/11/559/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Office 2010 Palettes</title>
		<link>http://www.componentfactory.com/blog/2009/10/office-2010-palettes/</link>
		<comments>http://www.componentfactory.com/blog/2009/10/office-2010-palettes/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 08:08:23 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Ribbon]]></category>
		<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=555</guid>
		<description><![CDATA[I can understand why very few Toolkit developers create their own palettes. It&#8217;s taken me three weeks to add three new palettes to match the new Office 2010 themes. Actually I&#8217;m still not finished and have only made the changes needed to update the ribbon and a few other related controls. Office 2010 Blue Here we [...]]]></description>
			<content:encoded><![CDATA[<p>I can understand why very few Toolkit developers create their own palettes. It&#8217;s taken me three weeks to add three new palettes to match the new Office 2010 themes. Actually I&#8217;m still not finished and have only made the changes needed to update the ribbon and a few other related controls.</p>
<p><strong>Office 2010 Blue<br />
</strong>Here we have the blue theme in active and inactive states&#8230;</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/2010BlueA.png" alt="" /></p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/2010BlueI.png" alt="" /></p>
<p>Notice that the background of the  tabs area also changes with the window activation change. This gives a more consistent feel and makes the ribbon feel part of the window itself because its colour always matches that of the window chrome in the caption area above it. Also note the application button has been replaced with an application tab that is positioned at the start of the tabs area. New properties have been added allowing you to change the default blue colour and default <em>File</em> text.</p>
<p>On the far right of the tabs line you can see a new upwards pointing button. This is used to switch between minimized and full modes and is now present by default for all palettes. There is a new property that allows this to be turned hidden if you prefer to save the space. I think the button is a great idea as most end users are unlikely to discover that double clicking tabs with toggle the minimized mode.</p>
<p>If you look careful you might also have spotted that the cluster buttons no longer show with borders around them. Previously they would have a border around each button but now there is no border unless you actually move the mouse over the button. Instead each cluster has a small separator next to them so they are delineated from other group contents.</p>
<p>Give yourself a pat on the back if you have spotted this final change. Although not obvious the font is half a point smaller than under the Office 2007 themes and this allows more content to fit within the same space.</p>
<p><strong>Office 2010 Silver/Black<br />
</strong>Just like Office 2007 there are three themes in total and they are based on the same blue/silver and black base colours&#8230;</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/2010SilverA.png" alt="" /></p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/2010BlackA.png" alt="" /><br />
<strong></strong></p>
<p><strong>Aero Glass Support<br />
</strong>Under Vista and Windows 7 the ribbon draws a little different to take advantage of the glass look and feel. Here you can see the blue scheme under Windows 7&#8230;</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/2010BlueG.png" alt="" /></p>
<p>The window chrome has been extended downwards over the tabs area. In order to ensure the text for the tabs can still be read the background has a light gradient that extends upwards so that the darker text stands out. I have not managed to draw this exactly the same way as Office 2010 does but it is pretty close.</p>
<p>I&#8217;m keeping my fingers crossed that they do not make any changes between this Beta and the final release. Otherwise I will need to make additional changes. But as they have added all three schemes I expect that any changes are now going to be very minor.</p>
<p>Now onto the task of updating the rest of the controls with new settings.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2009/10/office-2010-palettes/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>KryptonGroupBox</title>
		<link>http://www.componentfactory.com/blog/2009/09/kryptongroupbox/</link>
		<comments>http://www.componentfactory.com/blog/2009/09/kryptongroupbox/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 06:16:57 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=545</guid>
		<description><![CDATA[Feel the need to group your controls but finding that the KryptonHeaderGroup is taking up too much space? Well now you can use the all new KryptonGroupBox control. Just like the standard windows forms control it draws a caption text over the top of a group border. Here you see an instance in the default [...]]]></description>
			<content:encoded><![CDATA[<p>Feel the need to group your controls but finding that the <em>KryptonHeaderGroup</em> is taking up too much space?</p>
<p>Well now you can use the all new <em>KryptonGroupBox</em> control. Just like the standard windows forms control it draws a caption text over the top of a group border. Here you see an instance in the default <em>Office 2007 Blue</em> palette.</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/KGB1.gif" alt="" /></p>
<p>You can actually specify two strings plus an image for the caption.</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/KGB2.gif" alt="" /></p>
<p>Or move the caption to one of the other three edges.</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/KGB3.gif" alt="" /></p>
<p>By default the border edge is indented 50% of the height of the caption area. If you specify 100% then you get the left image below and a value of 0% gives the variation on the right.</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/KGB4.gif" alt="" /></p>
<p>The <em>KryptonGroupBox</em> is a simple little control but that does not make it any less useful in your Toolkit.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2009/09/kryptongroupbox/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Krypton 4.0 Released</title>
		<link>http://www.componentfactory.com/blog/2009/08/krypton-40-released/</link>
		<comments>http://www.componentfactory.com/blog/2009/08/krypton-40-released/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 08:27:29 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Docking]]></category>
		<category><![CDATA[Krypton Navigator]]></category>
		<category><![CDATA[Krypton Ribbon]]></category>
		<category><![CDATA[Krypton Toolkit]]></category>
		<category><![CDATA[Krypton Workspace]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=543</guid>
		<description><![CDATA[Download  using this direct link&#8230;     Download 4.0 New for Version 4.0    &#8211; VS2010 Style Docking system    &#8211; KryptonWrapLabel    &#8211; KryptonSeparator    &#8211; Workspace persistence    &#8211; Workspace max/restore feature    &#8211; Various bug fixes Change Lists   &#8211; Toolkit   &#8211; Navigator   &#8211; Workspace   &#8211; Ribbon]]></description>
			<content:encoded><![CDATA[<p><strong>Download  using this direct link&#8230;</strong><br />
    <a href="http://www.componentfactory.com/downloads/KryptonSuite400.zip">Download 4.0</a></p>
<p><strong>New for Version 4.0</strong><br />
   &#8211; VS2010 Style Docking system<br />
   &#8211; KryptonWrapLabel<br />
   &#8211; KryptonSeparator<br />
   &#8211; Workspace persistence<br />
   &#8211; Workspace max/restore feature<br />
   &#8211; Various bug fixes</p>
<p><strong>Change Lists</strong><br />
  &#8211; <a href="http://www.componentfactory.com/downloads/changeLists/KryptonToolkitChangeList.doc">Toolkit</a><br />
  &#8211; <a href="http://www.componentfactory.com/downloads/changeLists/KryptonNavigatorChangeList.doc">Navigator<br />
</a>  &#8211; <a href="http://www.componentfactory.com/downloads/changeLists/KryptonWorkspaceChangeList.doc">Workspace</a><br />
  &#8211; <a href="http://www.componentfactory.com/downloads/changeLists/KryptonRibbonChangeList.doc">Ribbon</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2009/08/krypton-40-released/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Price increase coming&#8230;</title>
		<link>http://www.componentfactory.com/blog/2009/08/price-increase-coming/</link>
		<comments>http://www.componentfactory.com/blog/2009/08/price-increase-coming/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 02:14:06 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Docking]]></category>
		<category><![CDATA[Krypton Navigator]]></category>
		<category><![CDATA[Krypton Ribbon]]></category>
		<category><![CDATA[Krypton Toolkit]]></category>
		<category><![CDATA[Krypton Workspace]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=538</guid>
		<description><![CDATA[Expected Release Date The release of Krypton Suite 4.0 is looking like being the middle of next week. So expect an announcement on Wednesday 26th if all goes to plan. Obviously this could slip if a major bug appears just before release but I promise it will not be released early! Reduced Product Line-up Something [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Expected Release Date</strong><br />
The release of Krypton Suite 4.0 is looking like being the middle of next week. So expect an announcement on Wednesday 26th if all goes to plan. Obviously this could slip if a major bug appears just before release but I promise it will not be released early!</p>
<p><strong>Reduced Product Line-up</strong><br />
Something like 90% of all sales are for the full Krypton Suite and so I intend to simplify the list of product offerings by selling only the full Suite. Existing customers with the Navigator, Workspace or Ribbon that are still within their 12 month subscription will get a free upgrade to the Suite + Source. So no customers will miss out because of the change in policy.</p>
<p>The Suite will also only be offered with the full source code included so the ability to buy just a license is being removed. Most companies want the source code anyway and so this reduces the number of purchase options making it a simpler decision. So the purchase page is going to have just the Krypton Suite + Source with the only options being the number of licenses you want to buy.</p>
<p><strong><span style="color: #ff0000;">BARGAIN ALERT</span></strong>: Yes, that means you could buy the Navigator at $149 before next Wednesday and get a free upgrade to the full Suite including the source code. Reading my blog means you get the inside track and your reward is a truly once in a lifetime bargain. Or why not get a 4 pack and save even more!</p>
<p><strong>New Pricing</strong><br />
Currently the Suite + Source is priced at $399 (USD) and the new price with the docking system added will be $499 (USD). Looking at other comparable products on the market I still think this is a reasonable price given the extra flexibility and features it offers.</p>
<p><strong>New Licence Options</strong><br />
Last is a change to provide customers with an upper limit on costs. I hope this will tempt more of the larger outfits to consider buying the Suite for the entire development department. I am introducing Site and Enterprise license options.</p>
<p>A Site license will allow an unlimited number of developers within your organization but limited to one geographic location. An Enterprise license allows for an unlimited number of developers at an unlimited number of locations for your organization. Customers with 16 or more licenses at the moment will be offered the chance to convert to either the Site or Enterprise depending on their licenses requirements.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2009/08/price-increase-coming/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>KryptonWrapLabel</title>
		<link>http://www.componentfactory.com/blog/2009/07/kryptonwraplabel/</link>
		<comments>http://www.componentfactory.com/blog/2009/07/kryptonwraplabel/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 11:18:28 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=528</guid>
		<description><![CDATA[Due to popular demand we have a new label control that automatically performs line wrapping. The KryptonWrapLabel is probably the simplest control in the Toolkit but that does not make it the least useful (that honor goes I think to the KryptonBorderEdge). This control actually derives from the standard windows forms Label control and automatically [...]]]></description>
			<content:encoded><![CDATA[<p>Due to popular demand we have a new label control that automatically performs line wrapping. The <em>KryptonWrapLabel</em> is probably the simplest control in the <em>Toolkit</em> but that does not make it the least useful (that honor goes I think to the <em>KryptonBorderEdge</em>). This control actually derives from the standard windows forms <em>Label</em> control and automatically updates the <em>ForeColor</em> and <em>Font</em> to match the appropriate palette setting. So if you need automatic line wrapping this is the control for you.</p>
<p>I did make a couple of other minor changes. First of all the background of the control is transparent instead of using the controls <em>BackColor</em> property. I also uses the palette text rendering hint so that the text has the same appearance as text everywhere else in the <em>Krypton Toolkit</em>. You can see the result in this image&#8230;</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/WrapLabel.gif" alt="" /></p>
<p>At the top is a <em>KryptonWrapLabel</em> and at the bottom a standard windows forms <em>Label</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2009/07/kryptonwraplabel/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Serial Keys App</title>
		<link>http://www.componentfactory.com/blog/2009/07/serial-keys-app/</link>
		<comments>http://www.componentfactory.com/blog/2009/07/serial-keys-app/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 11:12:57 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=526</guid>
		<description><![CDATA[One valid complaint that customers make is that it is not easy to see which serial keys are currently registered. Plus it is not easy to register a new serial key in a way that is simple and fool proof. In response to this a new application has been added into the just released beta. You [...]]]></description>
			<content:encoded><![CDATA[<p>One valid complaint that customers make is that it is not easy to see which serial keys are currently registered. Plus it is not easy to register a new serial key in a way that is simple and fool proof. In response to this a new application has been added into the just released beta.</p>
<p>You can start the app but running the <em>Krypton Explorer</em>, selecting the <em>Applications</em> tab and then using the <em>Krypton Serial Keys</em> link. Here you can see it running on my development machine.</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/SerialKeys.gif" alt="" /></p>
<p>The bottom of the screen lists all the currently registered serial keys in the registry. To register a new key just enter it into the text box and use the register button. If it succeeds then the bottom section will update to show it.</p>
<p>So when a new release is made in the future you can uninstall, install the latest version and then run this app to register your new serial key. Then you should be able to load up and build your application without further actions.</p>
<p><strong>NOTE</strong>: No, the serial keys in the image are not valid; they were randomly generated strings for demo purposes only!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2009/07/serial-keys-app/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Palette Composer</title>
		<link>http://www.componentfactory.com/blog/2009/07/palette-composer/</link>
		<comments>http://www.componentfactory.com/blog/2009/07/palette-composer/#comments</comments>
		<pubDate>Sun, 19 Jul 2009 09:15:40 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=511</guid>
		<description><![CDATA[I just noticed there is a codeplex project called Palette Composer. It takes a set of custom palettes and compiles them into your assembly for ease of use. You can check it out here&#8230;]]></description>
			<content:encoded><![CDATA[<p>I just noticed there is a codeplex project called <em>Palette Composer</em>.</p>
<p>It takes a set of custom palettes and compiles them into your assembly for ease of use. You can check it out <a href="http://kryptonpalcomposer.codeplex.com/">here</a>&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2009/07/palette-composer/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>KryptonSeparator</title>
		<link>http://www.componentfactory.com/blog/2009/05/kryptonseparator/</link>
		<comments>http://www.componentfactory.com/blog/2009/05/kryptonseparator/#comments</comments>
		<pubDate>Mon, 11 May 2009 05:46:01 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=483</guid>
		<description><![CDATA[Here we have a brand spanking new control for the KryptonToolkit called KryptonSeparator.  It is however a very simple control that draws as an area separator and provides splitter functionality. Here you can see the control at various sizes and orientations in the Office 2008 Black scheme&#8230; As the user moves the mouse over the [...]]]></description>
			<content:encoded><![CDATA[<p>Here we have a brand spanking new control for the <em>KryptonToolkit</em> called <em>KryptonSeparator</em>.  It is however a very simple control that draws as an area separator and provides splitter functionality. Here you can see the control at various sizes and orientations in the Office 2008 Black scheme&#8230;</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/SeparatorBlack.gif" alt="" /></p>
<p>As the user moves the mouse over the control it changes the mouse cursor to indicate that it provides splitter functionality. If you press the mouse and start dragging then you see feedback drawn over the application that shows what change will occur if you release the mouse. Here you can see the visual feedback as a drag occurs&#8230;</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/SeparatorDragging.gif" alt="" /></p>
<p>The <em>KryptonSeparator </em>does not actually do anything when you release the mouse at the end of the drag as there is no way for the control to know what other controls should be resized and positioned. Instead it generates events that you can monitor and once the drag ends you use that event to decide what action to take.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2009/05/kryptonseparator/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Beta 2 Released</title>
		<link>http://www.componentfactory.com/blog/2009/03/beta-2-released/</link>
		<comments>http://www.componentfactory.com/blog/2009/03/beta-2-released/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 04:56:28 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Navigator]]></category>
		<category><![CDATA[Krypton Ribbon]]></category>
		<category><![CDATA[Krypton Toolkit]]></category>
		<category><![CDATA[Krypton Workspace]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=436</guid>
		<description><![CDATA[Krypton 3.5 Beta 2 Released This new beta has quite a few changes based on the feedback from testers of the first version earlier in the week. Most of the changes are in the date time picker and month calendar controls. Here is a full list of changes since the first beta&#8230; KryptonDateTimePicker Text property [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Krypton 3.5 Beta 2 Released</strong></p>
<p>This new beta has quite a few changes based on the feedback from testers of the first version earlier in the week. Most of the changes are in the date time picker and month calendar controls. Here is a full list of changes since the first beta&#8230;</p>
<p><strong>KryptonDateTimePicker</strong></p>
<ul>
<li>Text property now returns the actual displayed text, used to always return an empty string.</li>
<li>MouseWheel now performs the key up/down action of the active text field.</li>
<li>Entering 31 for the day number would not select the correct day.</li>
<li>Up/Down actions on the day would not overflow within the same month.</li>
<li>Mouse down on non-day parts of calendar would dismiss the context menu.</li>
</ul>
<p><strong>KryptonMonthCalendar</strong></p>
<ul>
<li>Drawing was corrupted for many non-English culture settings.</li>
<li>Can now set the background to transparent so parent background shows through.</li>
<li>Changing the DayStyle could crash when using a KryptonPalette.</li>
<li>When number of rows and columns were different mouse selection could crash.</li>
<li>Can now enter 1 or 2 digits for the descriptive month field to change the value.</li>
</ul>
<p><strong>Other</strong></p>
<ul>
<li>Palette upgrade tool now converts versions 12 and below to latest version 13.</li>
<li>Switching Navigator between Outlook modes would cause a crash.</li>
<li>KryptonComboBox would select text when you minimize/restore the form.</li>
</ul>
<p><a href="http://www.componentfactory.com/downloads/KryptonSuite3044.zip">Download Beta 2</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2009/03/beta-2-released/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Krypton 3.5 Beta Released</title>
		<link>http://www.componentfactory.com/blog/2009/03/krypton-35-beta-released/</link>
		<comments>http://www.componentfactory.com/blog/2009/03/krypton-35-beta-released/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 05:46:49 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Navigator]]></category>
		<category><![CDATA[Krypton Ribbon]]></category>
		<category><![CDATA[Krypton Toolkit]]></category>
		<category><![CDATA[Krypton Workspace]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=434</guid>
		<description><![CDATA[You can now download the 3.5 Beta version using the link at the bottom of the post. The actual version number is 3.0.40 which ensures that existing serial keys, which are locked to 3.0.X, will work. New features include the following&#8230; KryptonDateTimePicker KryptonMonthCalendar DateTimePicker for KryptonRibbon MonthCalendar for KryptonContextMenu Per-KryptonPage ButtonSpecs Many bug fixes (consult change [...]]]></description>
			<content:encoded><![CDATA[<p>You can now download the 3.5 Beta version using the link at the bottom of the post. The actual version number is 3.0.40 which ensures that existing serial keys, which are locked to 3.0.X, will work. New features include the following&#8230;</p>
<p>KryptonDateTimePicker<br />
KryptonMonthCalendar<br />
DateTimePicker for KryptonRibbon<br />
MonthCalendar for KryptonContextMenu<br />
Per-KryptonPage ButtonSpecs<br />
Many bug fixes (consult change lists)</p>
<p>I will create a forum so that bugs and other feedback can be logged for the beta specific release.</p>
<p><a href="http://www.componentfactory.com/downloads/KryptonSuite3040.zip">Download Beta</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2009/03/krypton-35-beta-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Editable DateTimePicker</title>
		<link>http://www.componentfactory.com/blog/2009/03/editable-datetimepicker/</link>
		<comments>http://www.componentfactory.com/blog/2009/03/editable-datetimepicker/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 04:54:13 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=430</guid>
		<description><![CDATA[Finally we are approaching a completed DateTimePicker implementation. I&#8217;ve now added a keyboard interface so you can use the left/right arrows to move between the different elements of the format. For example, navigating from the date field to month field to the year field and around to the start again.  You can also us the up/down keys to [...]]]></description>
			<content:encoded><![CDATA[<p>Finally we are approaching a completed DateTimePicker implementation. I&#8217;ve now added a keyboard interface so you can use the left/right arrows to move between the different elements of the format. For example, navigating from the date field to month field to the year field and around to the start again.  You can also us the up/down keys to modify the values or if you prefer the up/down buttons if you choose to display them inside of the drop down button.</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/KDTP2A.gif" alt="" /></p>
<p>Also update is the ribbon so you can display and modify dates inside the ribbon groups as shown here.</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/KDTP2B.gif" alt="" /></p>
<p>There is only one remaining task, allowing the entry of numeric values using the keyboard numbers. Up and down keys are fine but entering the number directly is a feature of the built-in control that speeds up data entry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2009/03/editable-datetimepicker/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>DateTimePicker Reloaded</title>
		<link>http://www.componentfactory.com/blog/2009/02/datetimepicker-reloaded/</link>
		<comments>http://www.componentfactory.com/blog/2009/02/datetimepicker-reloaded/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 00:35:07 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=425</guid>
		<description><![CDATA[Starting afresh the new KryptonDateTimePicker is starting to look like the finished product although there is still one major feature yet to be completed. I have tried to add the same set of properties as the standard windows version to make it easy to upgrade to the new control. I hope in most cases a simple [...]]]></description>
			<content:encoded><![CDATA[<p>Starting afresh the new <em>KryptonDateTimePicker</em> is starting to look like the finished product although there is still one major feature yet to be completed. I have tried to add the same set of properties as the standard windows version to make it easy to upgrade to the new control. I hope in most cases a simple find/replace of the class name will be enough to get people up and working. Although I cannot promise there will not be edge cases where you need to spend extra time manually checking/updating.</p>
<p>Here we have the control displayed with each of the four <em>Format</em> property settings of <em>Long</em>, <em>Short</em>, <em>Time</em> and <em>Custom</em>. The associated <em>CustomFormat</em> is defined as &#8220;<em>MMMM dd &#8216;at&#8217; hh:mm tt</em>&#8220;.</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/KDTP1.gif" alt="" /></p>
<p>Clicking the drop down button presents the new <em>KryptonMonthCalendar</em> control inside a <em>KryptonContextMenu</em> instance that allows the selection of a new date. The <em>DropDown</em> event is fired before the calendar is displayed and allows you to customize the context menu with additional menu items as required. This could be very handy if you need to add extra options such as predefined date selection.</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/KDTP2.gif" alt="" /></p>
<p>As with the standard control you can show a check box that allows the user to specify that the date should be null. In fact I have added an extra property called <em>ValueNullable</em> that will help with annoying data binding scenarios. The <em>Value</em> property works like the standard control and always returns a <em>DateTime</em> value but <em>ValueNullable</em> will return <em>DBNull</em> when the check box is cleared and return a <em>DateTime</em> when the check box is set. That should making binding against database columns easier.</p>
<p>Use <em>ShowUpDown</em> to show a pair of spin buttons instead of the default drop down button. As with most <em>Krypton</em> controls you can use <em>ButtonSpec</em> definitions to add extra buttons to the control area.</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/KDTP3.gif" alt="" /></p>
<p><strong><br />
Text Editing</strong></p>
<p>The one feature currently missing, and my next task, is the ability to modify the text area using the keyboard. I need to take the focus and highlight the different fragments of text such as just the month, day, hours and so forth. Then allow the up/down buttons and other keyboard actions to modify the value. This requires parsing the format and working out the correct drawing of different sections. Not that hard but it requires quite a bit work to get it working smoothly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2009/02/datetimepicker-reloaded/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>New direction</title>
		<link>http://www.componentfactory.com/blog/2009/02/new-direction/</link>
		<comments>http://www.componentfactory.com/blog/2009/02/new-direction/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 01:51:21 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=423</guid>
		<description><![CDATA[Thanks for all the suggestions and ideas people have presented in the blog and also in the forums about ways to go about getting the DateTimePicker to work under visual styles of Vista. None of them actually solves the problem 100% and so I have decided to just write the control from scratch instead. Even if [...]]]></description>
			<content:encoded><![CDATA[<p>Thanks for all the suggestions and ideas people have presented in the blog and also in the forums about ways to go about getting the <em>DateTimePicker</em> to work under visual styles of Vista. None of them actually solves the problem 100% and so I have decided to just write the control from scratch instead.</p>
<p>Even if all the hacks could be make to give the correct presentation if would still be unpleasant having to hope that they continue to work for all future versions of Windows. It is much more work to start from scratch but I hope it will pay off in the long run and allow a greater level of flexibility. Adding additional functionality will be easier when you have the full source code and can do anything you want.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2009/02/new-direction/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>No cigar</title>
		<link>http://www.componentfactory.com/blog/2009/02/no-cigar/</link>
		<comments>http://www.componentfactory.com/blog/2009/02/no-cigar/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 10:13:53 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=421</guid>
		<description><![CDATA[I started work on the KryptonDateTimePicker a couple of days ago and it all seemed to be going pretty well. I took the same approach as for many of the other controls and embedded the standard DateTimePicker inside a Krypton container that provides the border. Here you can see a picture with the standard control at [...]]]></description>
			<content:encoded><![CDATA[<p>I started work on the <em>KryptonDateTimePicker</em> a couple of days ago and it all seemed to be going pretty well. I took the same approach as for many of the other controls and embedded the standard <em>DateTimePicker </em>inside a Krypton container that provides the border. Here you can see a picture with the standard control at the top and the Kryptonized version below&#8230;</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/KDTP1.bmp" alt="" /></p>
<p>The next step was to update the background color to match the palette setting. This is where things start to go downhill as I discover the <em>DateTimePicker</em> does not actually have a <em>BackColor</em> property. No problem I think to myself, I just need to override the <em>WndProc</em> and handle the <em>WM_ERASEBKGND</em> message myself. Draw the background in the required color myself and we are good to go.</p>
<p>Well not so fast. Although my code is executed it makes no difference to the displayed background. This is odd so I do some Google research and discover this is a well known bug in the control. Apparently the <em>WM_ERASEBKGND</em> approach works with controls that do not have visual styles enabled but fails otherwise. So I removed the application level call to <em>EnableVisualStyles</em> and tried again. Yep, now it draws the background correctly using my code. In practice almost all .NET applications call <em>EnableVisualStyles</em> when they are started so I need a solution that does not insist this line of code is removed from apps.</p>
<p>There is one last possibility which is to call <em>SetWindowTheme(Handle, &#8220;&#8221;, &#8220;&#8221;)</em> for the control instance and so turn off visual styles just for that one individual control. This allows the rest of the application to run as it likes but ensures we get the background drawn for our <em>KryptonDateTimePicker</em> instance.</p>
<p>Unfortunately this last gasp attempt just falls short. It draws the border and drop down button of the control in the <em>Windows Classic</em> appearance which is exactly what I expect when visual styles are turned off. But it still stubbornly does not draw the text background using the <em>WM_ERASEBKGND</em> code! Close but no cigar.</p>
<p>Unless someone out there has a clever idea it looks like I need to scrap the work and begin again with a new approach.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2009/02/no-cigar/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Calendar in Menu</title>
		<link>http://www.componentfactory.com/blog/2009/02/calendar-in-menu/</link>
		<comments>http://www.componentfactory.com/blog/2009/02/calendar-in-menu/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 05:28:19 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=416</guid>
		<description><![CDATA[When developing the standalone KryptonMonthCalendar I ensured it was compatible with the mechanism used to place its drawing code as an element inside the KryptonContextMenu. So you can embed a calendar inside the context menu to create rich date selection functionality. Here you can see a simple example where the calendar is inside a menu [...]]]></description>
			<content:encoded><![CDATA[<p>When developing the standalone <em>KryptonMonthCalendar</em> I ensured it was compatible with the mechanism used to place its drawing code as an element inside the KryptonContextMenu. So you can embed a calendar inside the context menu to create rich date selection functionality. Here you can see a simple example where the calendar is inside a menu that is associated with the drop down button.</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/KCM3F.gif" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2009/02/calendar-in-menu/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>New Month Colors</title>
		<link>http://www.componentfactory.com/blog/2009/02/new-month-colors/</link>
		<comments>http://www.componentfactory.com/blog/2009/02/new-month-colors/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 01:58:21 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=414</guid>
		<description><![CDATA[Although the original colors look pretty good I did not feel entirely happy with them. So I have redesigned the colors in what I feel is a big improvement. Here you can see the three Office 2007 color schemes&#8230; &#8230;the Sparkle Blue palette&#8230; &#8230;and finally the System palette&#8230; I know some would prefer the gradient [...]]]></description>
			<content:encoded><![CDATA[<p>Although the original colors look pretty good I did not feel entirely happy with them. So I have redesigned the colors in what I feel is a big improvement. Here you can see the three Office 2007 color schemes&#8230;</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/KCM3A.gif" alt="" /></p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/KCM3B.gif" alt="" /></p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/KCM3C.gif" alt="" /></p>
<p>&#8230;the Sparkle Blue palette&#8230;</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/KCM3D.gif" alt="" /></p>
<p>&#8230;and finally the System palette&#8230;</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/KCM3E.gif" alt="" /></p>
<p>I know some would prefer the gradient effect colors for selection but I feel this is more appropriate.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2009/02/new-month-colors/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Today and ButtonSpecs</title>
		<link>http://www.componentfactory.com/blog/2009/02/today-and-buttonspecs/</link>
		<comments>http://www.componentfactory.com/blog/2009/02/today-and-buttonspecs/#comments</comments>
		<pubDate>Wed, 11 Feb 2009 04:52:49 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=412</guid>
		<description><![CDATA[ShowToday and ShowTodayCircle These two properties mimic those available in the standard MonthCalendar control and perform the same funtions. Use ShowToday to have a button placed on the bottom header that is used to change the current selection to today. ShowTodayCircle will provide a highlight around today&#8217;s date so that you can find it quickly. [...]]]></description>
			<content:encoded><![CDATA[<p><strong>ShowToday and ShowTodayCircle</strong></p>
<p>These two properties mimic those available in the standard <em>MonthCalendar</em> control and perform the same funtions. Use <em>ShowToday</em> to have a button placed on the bottom header that is used to change the current selection to today. <em>ShowTodayCircle </em>will provide a highlight around today&#8217;s date so that you can find it quickly. This image show both of these properties defined.</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/KCMT1.gif" alt="" /></p>
<p>There is an <em>OverrideToday</em> property so that you can alter the way in which the today&#8217;s date entry is highlighted. So if you prefer to change the background or text color then you can easily do so.</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/KCMT2.gif" alt="" /><br />
<strong>ButtonSpecs</strong></p>
<p>As with many of the Krypton controls you can specify <em>ButtonSpec</em> instances in order to add extra functionality to the control. In the above pictures you can see an extra button with the text &#8216;XYZ&#8217; added to the bottom header. All button specs are added to the bottom header. If you need to add many additional options you should set a button spec to have a drop down context menu.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2009/02/today-and-buttonspecs/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Bold and Weeks</title>
		<link>http://www.componentfactory.com/blog/2009/02/bold-an-weeks/</link>
		<comments>http://www.componentfactory.com/blog/2009/02/bold-an-weeks/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 10:09:05 +0000</pubDate>
		<dc:creator>Phil Wright</dc:creator>
				<category><![CDATA[Krypton Toolkit]]></category>

		<guid isPermaLink="false">http://www.componentfactory.com/blog/?p=409</guid>
		<description><![CDATA[Bolded Dates You can use three properties to describe the dates you would like to appear in bold. These are the same as those for the standard MonthCalendar and allow arbitrary dates, per-month dates and per-year dates. If you prefer to show the dates in a different way you can alter the OverrideBolded state information to [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Bolded Dates</strong></p>
<p>You can use three properties to describe the dates you would like to appear in bold. These are the same as those for the standard MonthCalendar and allow arbitrary dates, per-month dates and per-year dates. If you prefer to show the dates in a different way you can alter the <em>OverrideBolded</em> state information to achieve the required appearance.</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/KMCBold.gif" alt="" /></p>
<p><strong>Week Numbers</strong></p>
<p>Many accounting applications needs to show the week number alongside the dates to help the user correctly select the day of interest. Just like the standard MonthCalendar you can set the <em>ShowWeekNumbers</em> property as needed.</p>
<p><img src="http://www.componentfactory.com/blog/data/upimages/KMCWeeks.gif" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.componentfactory.com/blog/2009/02/bold-an-weeks/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

