<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-7695392</id><updated>2010-01-13T13:59:26.806Z</updated><title type='text'>PocketNerd: Rants and Random Ramblings</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://pocketnerd.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default'/><link rel='alternate' type='text/html' href='http://pocketnerd.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default?start-index=26&amp;max-results=25'/><author><name>PocketNerd</name><uri>http://www.blogger.com/profile/00444480431858299254</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>43</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7695392.post-2448561314534334465</id><published>2008-01-30T21:35:00.000Z</published><updated>2008-01-30T17:45:08.106Z</updated><title type='text'>‘WebForm_PostBackOptions’ is undefined, Validators and WebResource.axd</title><content type='html'>If you have ever come across the JavaScript error message ‘WebForm_PostBackOptions’ is undefined in your travels through the world of ASP.NET, you will know just what a pain it is. Hopefully, the following will go some way to helping resolve it:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Firstly, when does it happen?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;You will typically see this error message when you display an ASPX page that contains a Validator (for example a RequiredFieldValidator), some controls and a control that causes a postback to the server. The JavaScript error message is displayed when you invoke the postback and the client controls are validated; it may just be displayed and then continue to allow the postback; it may be displayed and actually prevent the postback altogether.&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Secondly, why does it happen?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Validators can use client side JavaScript to validate the controls without posting back to the server – this give a far better user experience. Obviously, when an error occurs, quite a large amount of JavaScript is required to locate the bound control, perform the validation, display an error message in the correct location on the screen and prevent the postback. It would be good if this JavaScript were cached on the client rather than being added to the HTML directly.&lt;br /&gt;&lt;br /&gt;One way of caching the JavaScript is to place it into a separate .js file. This file can then be referenced directly in the HTML, downloaded and cached on the client. Using this approach, the .js file would need to be available on the web server for download, which isn’t the end of the world, but does involve a management / deployment overhead.&lt;br /&gt;&lt;br /&gt;ASP.NET 2.0 introduced the concept of the WebResource.axd handler (i don’t intend to go into detail as to what this handler is/does, but more information can be found here). This handler can be used to ‘look inside’ assemblies for resources such as images, strings or files such as JavaScript or CSS files. This provides a neat solution to deployment and reuse as suddenly our Validators become a single assembly that contains all of the client and server side logic.&lt;br /&gt;&lt;br /&gt;If you look at the HTML that is generated when a Validator is on an ASPX page, and EnableClientScript = True, you will see that a reference to a script file is added to the output, an example of which is shown below. This reference points back to the client side JavaScript required to perform validation. The reason we see the ‘WebForm_PostBackOptions’ is undefined error is because there has been a problem downloading the JavaScript file from the server – of course this isn’t highlighted in the browser and so isn’t immediately obvious.&lt;br /&gt;&lt;br /&gt;&amp;lt;script type="text/javascript" src="/WebSite1/WebResource.axd?d=VqPlh_vtOSm3C5JXuOJFWDaG0dm1LwfB7--yzOqTmJw1&amp;amp;t=633210572006621533"&gt;&amp;lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How can we find out what the exact problem is? &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This is actually very difficult. There is no tracing on the server for the WebResource.axd handler so we do not know if there is a problem obtaining the requested resource. Similarly, a lot of the initial errors, such as the script file not being downloaded, are swallowed by the browser. However, it is possible to place the WebResource.axd link directly into the browser and see what is returned. If everything is OK, the returned content will be a JavaScript file; otherwise the return value should give us an idea as to the cause of the problem.&lt;br /&gt;&lt;br /&gt;Typically, the error is due to the Web Server being configured to perform HTML parsing on returned content and the contents of the AXD response are being altered. For example, there may be a handler that adds a company header and footer to the response, which in turn invalidates the JavaScript. Alternatively, there may be some form of compression that takes place on the output, which in turn invalidates the content.&lt;br /&gt;&lt;br /&gt;Hopefully, armed with this information, you should be able to track down the problem. If all else fails, you can either switch EnableClientScript = False, to prevent the addition of the WebResource.axd script link to the HTML – you will need to perform server side validation and suffer a roundtrip to the server though. Alternatively, you will need to write your own validation routine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7695392-2448561314534334465?l=pocketnerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pocketnerd.blogspot.com/feeds/2448561314534334465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7695392&amp;postID=2448561314534334465' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/2448561314534334465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/2448561314534334465'/><link rel='alternate' type='text/html' href='http://pocketnerd.blogspot.com/2008/01/webformpostbackoptions-is-undefined.html' title='‘WebForm_PostBackOptions’ is undefined, Validators and WebResource.axd'/><author><name>PocketNerd</name><uri>http://www.blogger.com/profile/00444480431858299254</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08037455175138954133'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7695392.post-4721324635522061736</id><published>2007-05-17T22:35:00.000+01:00</published><updated>2007-05-18T09:28:27.517+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='Bits of Code'/><title type='text'>AJAX Progress</title><content type='html'>Looks at creating a general use, multipurpose progress indicator that automatically informs visitors that an AJAX request in progress.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pocketnerd.net/Redirector.aspx?documentID=0F9A9BC2-14CC-47C4-A9E5-0AF2CCE32140"&gt;See this content on www.pocketnerd.net --&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7695392-4721324635522061736?l=pocketnerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pocketnerd.net/Redirector.aspx?documentID=0F9A9BC2-14CC-47C4-A9E5-0AF2CCE32140' title='AJAX Progress'/><link rel='replies' type='application/atom+xml' href='http://pocketnerd.blogspot.com/feeds/4721324635522061736/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7695392&amp;postID=4721324635522061736' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/4721324635522061736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/4721324635522061736'/><link rel='alternate' type='text/html' href='http://pocketnerd.blogspot.com/2007/05/ajax-progress.html' title='AJAX Progress'/><author><name>PocketNerd</name><uri>http://www.blogger.com/profile/00444480431858299254</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08037455175138954133'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7695392.post-5906049053528470446</id><published>2006-10-05T00:00:00.001+01:00</published><updated>2007-04-21T06:22:05.821+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Bits of Code'/><category scheme='http://www.blogger.com/atom/ns#' term='Win'/><title type='text'>Xml Color</title><content type='html'>This is a wrapper class for System.Drawing.Color, that enables a color to be Serialized and Deserialized&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pocketnerd.net/Redirector.aspx?documentID=F0AF1172-B695-4673-A07A-572653191439"&gt;See this content on www.pocketnerd.net --&amp;gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7695392-5906049053528470446?l=pocketnerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pocketnerd.net/Redirector.aspx?documentID=F0AF1172-B695-4673-A07A-572653191439' title='Xml Color'/><link rel='replies' type='application/atom+xml' href='http://pocketnerd.blogspot.com/feeds/5906049053528470446/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7695392&amp;postID=5906049053528470446' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/5906049053528470446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/5906049053528470446'/><link rel='alternate' type='text/html' href='http://pocketnerd.blogspot.com/2006/10/xml-color.html' title='Xml Color'/><author><name>PocketNerd</name><uri>http://www.blogger.com/profile/00444480431858299254</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08037455175138954133'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7695392.post-5717027903453481991</id><published>2006-10-05T00:00:00.000+01:00</published><updated>2007-04-21T06:22:56.426+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Bits of Code'/><category scheme='http://www.blogger.com/atom/ns#' term='Win'/><title type='text'>Timed Dictionary</title><content type='html'>The TimedDictionary provides functionality that is similar to a normal Dictionary except the items within it can expire and be cleaned up&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pocketnerd.net/Redirector.aspx?documentID=6CD18CD2-B583-4C80-B2E7-08432147B5A9"&gt;See this content on www.pocketnerd.net --&amp;gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7695392-5717027903453481991?l=pocketnerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pocketnerd.net/Redirector.aspx?documentID=6CD18CD2-B583-4C80-B2E7-08432147B5A9' title='Timed Dictionary'/><link rel='replies' type='application/atom+xml' href='http://pocketnerd.blogspot.com/feeds/5717027903453481991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7695392&amp;postID=5717027903453481991' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/5717027903453481991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/5717027903453481991'/><link rel='alternate' type='text/html' href='http://pocketnerd.blogspot.com/2006/10/timed-dictionary.html' title='Timed Dictionary'/><author><name>PocketNerd</name><uri>http://www.blogger.com/profile/00444480431858299254</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08037455175138954133'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7695392.post-7105336996804981855</id><published>2006-03-17T00:00:00.000Z</published><updated>2007-04-21T06:24:33.474+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Bits of Code'/><category scheme='http://www.blogger.com/atom/ns#' term='Win'/><title type='text'>Generic Name Value Pair</title><content type='html'>This is a simple class that is used to associate a Name with a corresponding Generic Value and to add Items to ComboBoxes, ListBoxes etc&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pocketnerd.net/Redirector.aspx?documentID=4C4A9B92-8EF7-405E-B713-6AA9EB25B212"&gt;See this content on www.pocketnerd.net --&amp;gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7695392-7105336996804981855?l=pocketnerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pocketnerd.net/Redirector.aspx?documentID=4C4A9B92-8EF7-405E-B713-6AA9EB25B212' title='Generic Name Value Pair'/><link rel='replies' type='application/atom+xml' href='http://pocketnerd.blogspot.com/feeds/7105336996804981855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7695392&amp;postID=7105336996804981855' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/7105336996804981855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/7105336996804981855'/><link rel='alternate' type='text/html' href='http://pocketnerd.blogspot.com/2006/03/generic-name-value-pair.html' title='Generic Name Value Pair'/><author><name>PocketNerd</name><uri>http://www.blogger.com/profile/00444480431858299254</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08037455175138954133'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7695392.post-5793093393302674850</id><published>2006-03-08T00:00:00.000Z</published><updated>2007-04-21T06:27:09.736+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bits of Code'/><category scheme='http://www.blogger.com/atom/ns#' term='Win'/><title type='text'>Sharing Application Settings</title><content type='html'>This .NET 2.0 bit of code shows how application settings in one assembly, typically an EXE, can be shared with referenced assemblies, typically DLLs.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pocketnerd.net/Redirector.aspx?documentID=4147B638-A0A9-44B7-AA18-A6BD066CC636"&gt;See this content on www.pocketnerd.net --&amp;gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7695392-5793093393302674850?l=pocketnerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pocketnerd.net/Redirector.aspx?documentID=4147B638-A0A9-44B7-AA18-A6BD066CC636' title='Sharing Application Settings'/><link rel='replies' type='application/atom+xml' href='http://pocketnerd.blogspot.com/feeds/5793093393302674850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7695392&amp;postID=5793093393302674850' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/5793093393302674850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/5793093393302674850'/><link rel='alternate' type='text/html' href='http://pocketnerd.blogspot.com/2006/03/sharing-application-settings.html' title='Sharing Application Settings'/><author><name>PocketNerd</name><uri>http://www.blogger.com/profile/00444480431858299254</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08037455175138954133'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7695392.post-4040157863237262621</id><published>2006-02-27T00:00:00.000Z</published><updated>2007-04-21T06:29:11.143+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bits of Code'/><category scheme='http://www.blogger.com/atom/ns#' term='Win'/><title type='text'>Feedback Provider</title><content type='html'>Sample code that shows how to create a Feedback Provider, similar to an ErrorProvider, that can display Info, Warn, Error, Dirty and Mandatory icons&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pocketnerd.net/Redirector.aspx?documentID=16269CDD-362C-424A-8967-75418C8B0C4C"&gt;See this content on www.pocketnerd.net --&amp;gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7695392-4040157863237262621?l=pocketnerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pocketnerd.net/Redirector.aspx?documentID=16269CDD-362C-424A-8967-75418C8B0C4C' title='Feedback Provider'/><link rel='replies' type='application/atom+xml' href='http://pocketnerd.blogspot.com/feeds/4040157863237262621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7695392&amp;postID=4040157863237262621' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/4040157863237262621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/4040157863237262621'/><link rel='alternate' type='text/html' href='http://pocketnerd.blogspot.com/2006/02/feedback-provider.html' title='Feedback Provider'/><author><name>PocketNerd</name><uri>http://www.blogger.com/profile/00444480431858299254</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08037455175138954133'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7695392.post-2097465149347798422</id><published>2006-02-18T08:42:00.000Z</published><updated>2007-04-21T06:30:06.273+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Articles'/><title type='text'>Downloading Webpage Data into an Application</title><content type='html'>This article looks at how we can enable our website visitors to download data from our webpages to view or manipulate it in their favorite applications. In particular, we are going to look at how we can export individual tables and complete pages to Excel and how we can generate PDF versions of our webpages on the fly.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pocketnerd.net/Redirector.aspx?documentID=9D9E104B-A32F-46FB-AE34-9F563CCD1145"&gt;See this content on www.pocketnerd.net --&amp;gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7695392-2097465149347798422?l=pocketnerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pocketnerd.net/Redirector.aspx?documentID=9D9E104B-A32F-46FB-AE34-9F563CCD1145' title='Downloading Webpage Data into an Application'/><link rel='replies' type='application/atom+xml' href='http://pocketnerd.blogspot.com/feeds/2097465149347798422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7695392&amp;postID=2097465149347798422' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/2097465149347798422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/2097465149347798422'/><link rel='alternate' type='text/html' href='http://pocketnerd.blogspot.com/2006/02/downloading-webpage-data-into.html' title='Downloading Webpage Data into an Application'/><author><name>PocketNerd</name><uri>http://www.blogger.com/profile/00444480431858299254</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08037455175138954133'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7695392.post-7693606040242582394</id><published>2005-06-26T08:41:00.000+01:00</published><updated>2007-04-21T06:31:00.542+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Articles'/><title type='text'>PocketNerd Framework</title><content type='html'>The PocketNerd Framework provides additional classes and functionality that can be added to your applications&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pocketnerd.net/Redirector.aspx?documentID=DE2F1B48-7121-4DE7-BE2B-203D8C6E5AFB"&gt;See this content on www.pocketnerd.net --&amp;gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7695392-7693606040242582394?l=pocketnerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pocketnerd.net/Redirector.aspx?documentID=DE2F1B48-7121-4DE7-BE2B-203D8C6E5AFB' title='PocketNerd Framework'/><link rel='replies' type='application/atom+xml' href='http://pocketnerd.blogspot.com/feeds/7693606040242582394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7695392&amp;postID=7693606040242582394' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/7693606040242582394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/7693606040242582394'/><link rel='alternate' type='text/html' href='http://pocketnerd.blogspot.com/2005/06/pocketnerd-framework.html' title='PocketNerd Framework'/><author><name>PocketNerd</name><uri>http://www.blogger.com/profile/00444480431858299254</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08037455175138954133'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7695392.post-41870764949265638</id><published>2005-06-25T00:00:00.001+01:00</published><updated>2007-04-21T06:31:42.027+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Bits of Code'/><category scheme='http://www.blogger.com/atom/ns#' term='Win'/><title type='text'>Xml Collection</title><content type='html'>Creates a collection of name value pair items that can be converted into an XML Document or transformed using XSLT. It is also possible to add groups of name value pair items.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pocketnerd.net/Redirector.aspx?documentID=11461A9C-C90D-4D02-9260-554C4576EFB9"&gt;See this content on www.pocketnerd.net --&amp;gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7695392-41870764949265638?l=pocketnerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pocketnerd.net/Redirector.aspx?documentID=11461A9C-C90D-4D02-9260-554C4576EFB9' title='Xml Collection'/><link rel='replies' type='application/atom+xml' href='http://pocketnerd.blogspot.com/feeds/41870764949265638/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7695392&amp;postID=41870764949265638' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/41870764949265638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/41870764949265638'/><link rel='alternate' type='text/html' href='http://pocketnerd.blogspot.com/2005/06/xml-collection.html' title='Xml Collection'/><author><name>PocketNerd</name><uri>http://www.blogger.com/profile/00444480431858299254</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08037455175138954133'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7695392.post-2704933877670499276</id><published>2005-06-25T00:00:00.000+01:00</published><updated>2007-04-21T06:32:03.537+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Bits of Code'/><category scheme='http://www.blogger.com/atom/ns#' term='Win'/><title type='text'>Grouped Hashtable</title><content type='html'>The GroupedHashtable is a class that looks very similar to a standard Hashtable except the string key is used to group the corresponding items together rather than identify a single, specific item.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pocketnerd.net/Redirector.aspx?documentID=536A344B-84F7-4E69-B8B1-EA3A7135EBA9"&gt;See this content on www.pocketnerd.net --&amp;gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7695392-2704933877670499276?l=pocketnerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pocketnerd.net/Redirector.aspx?documentID=536A344B-84F7-4E69-B8B1-EA3A7135EBA9' title='Grouped Hashtable'/><link rel='replies' type='application/atom+xml' href='http://pocketnerd.blogspot.com/feeds/2704933877670499276/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7695392&amp;postID=2704933877670499276' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/2704933877670499276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/2704933877670499276'/><link rel='alternate' type='text/html' href='http://pocketnerd.blogspot.com/2005/06/grouped-hashtable.html' title='Grouped Hashtable'/><author><name>PocketNerd</name><uri>http://www.blogger.com/profile/00444480431858299254</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08037455175138954133'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7695392.post-2249851964824280746</id><published>2005-06-07T00:00:00.000+01:00</published><updated>2007-04-21T06:33:53.887+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Bits of Code'/><category scheme='http://www.blogger.com/atom/ns#' term='Win'/><title type='text'>Name Value Pair</title><content type='html'>This is a simple class that is used to associate a Name with a corresponding Value and to add Items to ComboBoxes, ListBoxes etc&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pocketnerd.net/Redirector.aspx?documentID=AE588AC9-02F9-4D34-81D7-BEC91AEF4E25"&gt;See this content on www.pocketnerd.net --&amp;gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7695392-2249851964824280746?l=pocketnerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pocketnerd.net/Redirector.aspx?documentID=AE588AC9-02F9-4D34-81D7-BEC91AEF4E25' title='Name Value Pair'/><link rel='replies' type='application/atom+xml' href='http://pocketnerd.blogspot.com/feeds/2249851964824280746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7695392&amp;postID=2249851964824280746' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/2249851964824280746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/2249851964824280746'/><link rel='alternate' type='text/html' href='http://pocketnerd.blogspot.com/2005/06/name-value-pair.html' title='Name Value Pair'/><author><name>PocketNerd</name><uri>http://www.blogger.com/profile/00444480431858299254</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08037455175138954133'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7695392.post-370029885042518442</id><published>2005-06-06T00:00:00.000+01:00</published><updated>2007-04-21T06:34:31.172+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Bits of Code'/><category scheme='http://www.blogger.com/atom/ns#' term='Win'/><title type='text'>High Performance Timers</title><content type='html'>There is no easy way to get very precise timings within the .NET Framework to see exactly how long code takes to execute or how long it takes to access a database. However, the Windows Platform does expose such functionality through performance counters and we can use interop to access it directly from within our .NET code&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pocketnerd.net/Redirector.aspx?documentID=B729DA13-656C-432A-AA5C-60D5A60F33DB"&gt;See this content on www.pocketnerd.net --&amp;gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7695392-370029885042518442?l=pocketnerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pocketnerd.net/Redirector.aspx?documentID=B729DA13-656C-432A-AA5C-60D5A60F33DB' title='High Performance Timers'/><link rel='replies' type='application/atom+xml' href='http://pocketnerd.blogspot.com/feeds/370029885042518442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7695392&amp;postID=370029885042518442' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/370029885042518442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/370029885042518442'/><link rel='alternate' type='text/html' href='http://pocketnerd.blogspot.com/2005/06/high-performance-timers.html' title='High Performance Timers'/><author><name>PocketNerd</name><uri>http://www.blogger.com/profile/00444480431858299254</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08037455175138954133'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7695392.post-5864609709110242264</id><published>2005-05-08T00:00:00.000+01:00</published><updated>2007-04-21T06:34:58.559+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Bits of Code'/><category scheme='http://www.blogger.com/atom/ns#' term='Win'/><title type='text'>Convert a DataSet into a String</title><content type='html'>Sample code that shows how to how to convert an in memory DataSet into a String using a MemoryStream&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pocketnerd.net/Redirector.aspx?documentID=027C81E3-033C-4A9B-8F31-C149A558FBC8"&gt;See this content on www.pocketnerd.net --&amp;gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7695392-5864609709110242264?l=pocketnerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pocketnerd.net/Redirector.aspx?documentID=027C81E3-033C-4A9B-8F31-C149A558FBC8' title='Convert a DataSet into a String'/><link rel='replies' type='application/atom+xml' href='http://pocketnerd.blogspot.com/feeds/5864609709110242264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7695392&amp;postID=5864609709110242264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/5864609709110242264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/5864609709110242264'/><link rel='alternate' type='text/html' href='http://pocketnerd.blogspot.com/2005/05/convert-dataset-into-string.html' title='Convert a DataSet into a String'/><author><name>PocketNerd</name><uri>http://www.blogger.com/profile/00444480431858299254</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08037455175138954133'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7695392.post-1235133608676701486</id><published>2005-04-16T08:39:00.000+01:00</published><updated>2007-04-21T06:36:09.066+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wizards'/><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Win'/><category scheme='http://www.blogger.com/atom/ns#' term='Articles'/><title type='text'>PocketNerd WizardEngine</title><content type='html'>The PocketNerd Wizard Engine (Pwiz Engine) provides a powerful, simple, and consistent way to create Windows Forms based Wizards that can be launched as a modal or non-modal dialog from within your own Application, as a standalone executable that runs in its own process and as a Custom Wizard from within the Visual Studio.NET IDE.&lt;br /&gt;&lt;br /&gt;This article describes how the Pwiz Engine works and how to create such Wizards.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pocketnerd.net/Redirector.aspx?documentID=1472408B-A599-4755-9DDA-375752C8AB83"&gt;See this content on www.pocketnerd.net --&amp;gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7695392-1235133608676701486?l=pocketnerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pocketnerd.net/Redirector.aspx?documentID=1472408B-A599-4755-9DDA-375752C8AB83' title='PocketNerd WizardEngine'/><link rel='replies' type='application/atom+xml' href='http://pocketnerd.blogspot.com/feeds/1235133608676701486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7695392&amp;postID=1235133608676701486' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/1235133608676701486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/1235133608676701486'/><link rel='alternate' type='text/html' href='http://pocketnerd.blogspot.com/2005/04/pocketnerd-wizardengine.html' title='PocketNerd WizardEngine'/><author><name>PocketNerd</name><uri>http://www.blogger.com/profile/00444480431858299254</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08037455175138954133'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7695392.post-271898121397796872</id><published>2005-04-13T08:38:00.000+01:00</published><updated>2007-04-21T06:36:40.898+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wizards'/><category scheme='http://www.blogger.com/atom/ns#' term='Win'/><category scheme='http://www.blogger.com/atom/ns#' term='Articles'/><title type='text'>C# Custom Wizards</title><content type='html'>This is the final article in the series that looks at how more programming power can be introduced into our VS.NET Wizards by creating a C# Custom Wizard&lt;br /&gt;&lt;br /&gt;Article 1: &lt;a class="ArticlesText" href="http://www.pocketnerd.net//Redirector.aspx?documentID=0E87EE59-D475-4D50-8B53-6788E1A4C748"&gt;VS.NET Wizard Overview&lt;/a&gt;&lt;br /&gt;Article 2: &lt;a class="ArticlesText" href="http://www.pocketnerd.net//Redirector.aspx?documentID=CF2CD591-AEAA-4D5D-A9E3-B08B1592D84E"&gt;Custom HTML Wizards&lt;/a&gt;&lt;br /&gt;Article 3: &lt;a class="ArticlesText" href="http://www.pocketnerd.net//Redirector.aspx?documentID=6DC68E16-9D0A-4C36-BD4E-C0F23F3B0014"&gt;C# Custom Wizards&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pocketnerd.net/Redirector.aspx?documentID=6DC68E16-9D0A-4C36-BD4E-C0F23F3B0014"&gt;See this content on www.pocketnerd.net --&amp;gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7695392-271898121397796872?l=pocketnerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pocketnerd.net/Redirector.aspx?documentID=6DC68E16-9D0A-4C36-BD4E-C0F23F3B0014' title='C# Custom Wizards'/><link rel='replies' type='application/atom+xml' href='http://pocketnerd.blogspot.com/feeds/271898121397796872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7695392&amp;postID=271898121397796872' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/271898121397796872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/271898121397796872'/><link rel='alternate' type='text/html' href='http://pocketnerd.blogspot.com/2005/04/c-custom-wizards.html' title='C# Custom Wizards'/><author><name>PocketNerd</name><uri>http://www.blogger.com/profile/00444480431858299254</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08037455175138954133'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7695392.post-5432666576191763702</id><published>2005-04-06T00:00:00.000+01:00</published><updated>2007-04-21T06:37:30.682+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wizards'/><category scheme='http://www.blogger.com/atom/ns#' term='Bits of Code'/><title type='text'>IDTWizard.Execute's ContextParams</title><content type='html'>Sample code that shows how to make sense of the IDTWizard.Execute's ContextParams argument when creating a Custom Wizard&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pocketnerd.net/Redirector.aspx?documentID=A1727CE2-A1CE-4044-8D5D-37E89BF86D67"&gt;See this content on www.pocketnerd.net --&amp;gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7695392-5432666576191763702?l=pocketnerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pocketnerd.net/Redirector.aspx?documentID=A1727CE2-A1CE-4044-8D5D-37E89BF86D67' title='IDTWizard.Execute&apos;s ContextParams'/><link rel='replies' type='application/atom+xml' href='http://pocketnerd.blogspot.com/feeds/5432666576191763702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7695392&amp;postID=5432666576191763702' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/5432666576191763702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/5432666576191763702'/><link rel='alternate' type='text/html' href='http://pocketnerd.blogspot.com/2005/04/idtwizardexecutes-contextparams.html' title='IDTWizard.Execute&apos;s ContextParams'/><author><name>PocketNerd</name><uri>http://www.blogger.com/profile/00444480431858299254</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08037455175138954133'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7695392.post-318422019062911897</id><published>2005-02-22T08:37:00.000Z</published><updated>2007-04-21T06:38:12.049+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Win'/><category scheme='http://www.blogger.com/atom/ns#' term='Articles'/><title type='text'>VS.NET PropertyGrid</title><content type='html'>This article takes a look at the PropertyGrid Control in a Windows Forms application before moving on to using the VS.NET 2002/3/5 Properties Window from a hosted .NET UserControl&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pocketnerd.net/Redirector.aspx?documentID=AB974986-76FE-4491-9068-AF5947E2DCBF"&gt;See this content on www.pocketnerd.net --&amp;gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7695392-318422019062911897?l=pocketnerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pocketnerd.net/Redirector.aspx?documentID=AB974986-76FE-4491-9068-AF5947E2DCBF' title='VS.NET PropertyGrid'/><link rel='replies' type='application/atom+xml' href='http://pocketnerd.blogspot.com/feeds/318422019062911897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7695392&amp;postID=318422019062911897' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/318422019062911897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/318422019062911897'/><link rel='alternate' type='text/html' href='http://pocketnerd.blogspot.com/2005/02/vsnet-propertygrid.html' title='VS.NET PropertyGrid'/><author><name>PocketNerd</name><uri>http://www.blogger.com/profile/00444480431858299254</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08037455175138954133'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7695392.post-104088773555375370</id><published>2005-02-06T08:35:00.000Z</published><updated>2007-04-21T06:38:39.210+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wizards'/><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Win'/><category scheme='http://www.blogger.com/atom/ns#' term='Articles'/><title type='text'>System Tray Application Wizard</title><content type='html'>This C# Wizard can be used to quickly create a new Windows Application that interacts with a System Tray icon&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pocketnerd.net/Redirector.aspx?documentID=D3C3539D-018C-4BC4-ABBE-7E3C4010CBC1"&gt;See this content on www.pocketnerd.net --&amp;gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7695392-104088773555375370?l=pocketnerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pocketnerd.net/Redirector.aspx?documentID=D3C3539D-018C-4BC4-ABBE-7E3C4010CBC1' title='System Tray Application Wizard'/><link rel='replies' type='application/atom+xml' href='http://pocketnerd.blogspot.com/feeds/104088773555375370/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7695392&amp;postID=104088773555375370' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/104088773555375370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/104088773555375370'/><link rel='alternate' type='text/html' href='http://pocketnerd.blogspot.com/2005/02/system-tray-application-wizard.html' title='System Tray Application Wizard'/><author><name>PocketNerd</name><uri>http://www.blogger.com/profile/00444480431858299254</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08037455175138954133'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7695392.post-8287658077430776285</id><published>2005-02-06T08:33:00.000Z</published><updated>2007-04-21T06:39:17.355+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wizards'/><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Win'/><category scheme='http://www.blogger.com/atom/ns#' term='Articles'/><title type='text'>.NET - COM Object Wizard</title><content type='html'>This C# Wizard creates a new .NET project and class that implements several best practices in exposing a COM object to a Win32 application. This is particularly useful for Excel and other Office .NET development activities&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pocketnerd.net/Redirector.aspx?documentID=ACE6450E-8BFE-4D60-B5D6-BEBAEEDE2719"&gt;See this content on www.pocketnerd.net --&amp;gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7695392-8287658077430776285?l=pocketnerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pocketnerd.net/Redirector.aspx?documentID=ACE6450E-8BFE-4D60-B5D6-BEBAEEDE2719' title='.NET - COM Object Wizard'/><link rel='replies' type='application/atom+xml' href='http://pocketnerd.blogspot.com/feeds/8287658077430776285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7695392&amp;postID=8287658077430776285' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/8287658077430776285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/8287658077430776285'/><link rel='alternate' type='text/html' href='http://pocketnerd.blogspot.com/2005/02/net-com-object-wizard.html' title='.NET - COM Object Wizard'/><author><name>PocketNerd</name><uri>http://www.blogger.com/profile/00444480431858299254</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08037455175138954133'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7695392.post-7055240066165219073</id><published>2004-08-30T15:45:00.000+01:00</published><updated>2007-04-21T06:39:44.557+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bits of Code'/><category scheme='http://www.blogger.com/atom/ns#' term='Win'/><title type='text'>Flash Window</title><content type='html'>Sample code that shows how to alert the user to a particular Window by causing it to flash on its Title Bar and on the Taskbar&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pocketnerd.net/Redirector.aspx?documentID=69F0590D-5EDF-4252-AE11-542FDBB0E3CF"&gt;See this content on www.pocketnerd.net --&amp;gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7695392-7055240066165219073?l=pocketnerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pocketnerd.net/Redirector.aspx?documentID=69F0590D-5EDF-4252-AE11-542FDBB0E3CF' title='Flash Window'/><link rel='replies' type='application/atom+xml' href='http://pocketnerd.blogspot.com/feeds/7055240066165219073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7695392&amp;postID=7055240066165219073' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/7055240066165219073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/7055240066165219073'/><link rel='alternate' type='text/html' href='http://pocketnerd.blogspot.com/2004/08/flash-window.html' title='Flash Window'/><author><name>PocketNerd</name><uri>http://www.blogger.com/profile/00444480431858299254</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08037455175138954133'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7695392.post-1654483609663605829</id><published>2004-08-26T08:32:00.000+01:00</published><updated>2007-04-21T06:40:16.027+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Win'/><category scheme='http://www.blogger.com/atom/ns#' term='Office'/><category scheme='http://www.blogger.com/atom/ns#' term='Articles'/><title type='text'>Integrate your Spell Checker</title><content type='html'>A lot of enterprises deploy Microsoft Office. Why not make the most of it and use the Spell Checker in your applications&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pocketnerd.net/Redirector.aspx?documentID=F1A98DF7-BA7F-4426-839B-388517BC3CE7"&gt;See this content on www.pocketnerd.net --&amp;gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7695392-1654483609663605829?l=pocketnerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pocketnerd.net/Redirector.aspx?documentID=F1A98DF7-BA7F-4426-839B-388517BC3CE7' title='Integrate your Spell Checker'/><link rel='replies' type='application/atom+xml' href='http://pocketnerd.blogspot.com/feeds/1654483609663605829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7695392&amp;postID=1654483609663605829' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/1654483609663605829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/1654483609663605829'/><link rel='alternate' type='text/html' href='http://pocketnerd.blogspot.com/2004/08/integrate-your-spell-checker.html' title='Integrate your Spell Checker'/><author><name>PocketNerd</name><uri>http://www.blogger.com/profile/00444480431858299254</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08037455175138954133'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7695392.post-4944470367256683857</id><published>2004-08-07T08:31:00.000+01:00</published><updated>2007-04-21T06:40:45.023+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Win'/><category scheme='http://www.blogger.com/atom/ns#' term='Articles'/><title type='text'>PocketProd and Reflector</title><content type='html'>This article shows how easy it is to add support tools to specific context menus in VS.NET. The article describes the process for adding Lutz Roeder's.NET Reflector to the assembly References items, but also acts as a general example for adding external tools to VS.NET using PocketProd.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pocketnerd.net/Redirector.aspx?documentID=B9A9926F-B438-4270-BA69-898F6180626A"&gt;See this content on www.pocketnerd.net --&amp;gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7695392-4944470367256683857?l=pocketnerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pocketnerd.net/Redirector.aspx?documentID=B9A9926F-B438-4270-BA69-898F6180626A' title='PocketProd and Reflector'/><link rel='replies' type='application/atom+xml' href='http://pocketnerd.blogspot.com/feeds/4944470367256683857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7695392&amp;postID=4944470367256683857' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/4944470367256683857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/4944470367256683857'/><link rel='alternate' type='text/html' href='http://pocketnerd.blogspot.com/2004/08/pocketprod-and-reflector.html' title='PocketProd and Reflector'/><author><name>PocketNerd</name><uri>http://www.blogger.com/profile/00444480431858299254</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08037455175138954133'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7695392.post-3367482368644674702</id><published>2004-08-07T08:29:00.000+01:00</published><updated>2007-04-21T06:41:47.893+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wizards'/><category scheme='http://www.blogger.com/atom/ns#' term='Win'/><category scheme='http://www.blogger.com/atom/ns#' term='Articles'/><title type='text'>Custom HTML Wizards</title><content type='html'>This article builds on the previous &lt;a href="http://www.pocketnerd.net//Redirector.aspx?documentID=CF2CD591-AEAA-4D5D-A9E3-B08B1592D84E"&gt;VS.NET Wizard Overview&lt;/a&gt; to show you how to create and deploy custom HTML Wizards. In particular, the article describes creating a C#-COM Class that can be used to perform Excel Integration.&lt;br /&gt;&lt;br /&gt;Even if you are not interested in the Wizards, the COM Wizard installer may prove useful so why not download and install it!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pocketnerd.net/Redirector.aspx?documentID=CF2CD591-AEAA-4D5D-A9E3-B08B1592D84E"&gt;See this content on www.pocketnerd.net --&amp;gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7695392-3367482368644674702?l=pocketnerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pocketnerd.net/Redirector.aspx?documentID=CF2CD591-AEAA-4D5D-A9E3-B08B1592D84E' title='Custom HTML Wizards'/><link rel='replies' type='application/atom+xml' href='http://pocketnerd.blogspot.com/feeds/3367482368644674702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7695392&amp;postID=3367482368644674702' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/3367482368644674702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/3367482368644674702'/><link rel='alternate' type='text/html' href='http://pocketnerd.blogspot.com/2004/08/custom-html-wizards.html' title='Custom HTML Wizards'/><author><name>PocketNerd</name><uri>http://www.blogger.com/profile/00444480431858299254</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08037455175138954133'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7695392.post-2790456141607699000</id><published>2004-06-27T15:43:00.000+01:00</published><updated>2007-04-21T06:42:19.149+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bits of Code'/><category scheme='http://www.blogger.com/atom/ns#' term='Win'/><title type='text'>Auto Complete Run-like Combo Box</title><content type='html'>Everybody that uses Windows is familiar with the functionality of the Start--&gt;Run dialog that allows a user to enter the name of an application or document and quickly launch it.&lt;br /&gt;&lt;br /&gt;This bit of code contains an extended combo box that implements all of the auto complete and memory capabilities of the Run dialog&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pocketnerd.net/Redirector.aspx?documentID=117F6B4D-F589-472B-806C-565C1B1ABB32"&gt;See this content on www.pocketnerd.net --&amp;gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7695392-2790456141607699000?l=pocketnerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pocketnerd.net/Redirector.aspx?documentID=117F6B4D-F589-472B-806C-565C1B1ABB32' title='Auto Complete Run-like Combo Box'/><link rel='replies' type='application/atom+xml' href='http://pocketnerd.blogspot.com/feeds/2790456141607699000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7695392&amp;postID=2790456141607699000' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/2790456141607699000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7695392/posts/default/2790456141607699000'/><link rel='alternate' type='text/html' href='http://pocketnerd.blogspot.com/2004/06/auto-complete-run-like-combo-box.html' title='Auto Complete Run-like Combo Box'/><author><name>PocketNerd</name><uri>http://www.blogger.com/profile/00444480431858299254</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08037455175138954133'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>