<?xml version="1.0" encoding="UTF-8" ?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Steve Saxon</title><subtitle type="html" /><id>http://blogs.neudesic.com/blogs/steve_saxon/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.neudesic.com/blogs/steve_saxon/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.neudesic.com/blogs/steve_saxon/atom.aspx" /><generator uri="http://communityserver.org" version="2.0.60217.2664">Community Server</generator><updated>2006-04-24T11:22:00Z</updated><entry><title>Desert Code Camp - my presentations / demos</title><link rel="alternate" type="text/html" href="http://blogs.neudesic.com/blogs/steve_saxon/archive/2007/10/01/18022.aspx" /><id>http://blogs.neudesic.com/blogs/steve_saxon/archive/2007/10/01/18022.aspx</id><published>2007-10-01T07:12:00Z</published><updated>2007-10-01T07:12:00Z</updated><content type="html">&lt;p class="x_MsoNormal"&gt;&lt;font face="Arial" size="2"&gt;Thanks to all the folks that attended my talks at Desert Code Camp.&lt;/font&gt;&lt;/p&gt;

&lt;p class="x_MsoNormal"&gt;&lt;font face="Arial" size="2"&gt;Below are the links to my individual talks. Apologies for the delay in posting.&lt;br&gt;&lt;/font&gt;&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.ruxp.net/bits/codecamp/ASP.NET_scalability.zip" target="_blank"&gt;Getting scalability from ASP.NET&lt;/a&gt;&lt;/font&gt;
&lt;/li&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.ruxp.net/bits/codecamp/DLR-usage.zip" target="_blank"&gt;Using the Dynamic Language Runtime in your application&lt;/a&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.ruxp.net/bits/codecamp/CAB-Factories.zip" target="_blank"&gt;Composite UI Application Block – Intelligent Factories / Singletons&lt;/a&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.ruxp.net/bits/codecamp/CAB-DiscoverableUI.zip" target="_blank"&gt;Composite UI Application Block – Discoverable toolbar/menu/ribbon items&lt;/a&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.ruxp.net/bits/codecamp/CAB-Extending_EventBroker.zip" target="_blank"&gt;Composite UI Application Block – Extending the Event Broker&lt;/a&gt;&lt;/font&gt;&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;





&lt;p class="x_MsoNormal"&gt;&lt;font face="Arial" size="2"&gt;I also posted a rollup of all five talks &lt;a href="http://www.ruxp.net/bits/codecamp/DesertCodeCamp-0907.zip" target="_blank"&gt;
here&lt;/a&gt;.&lt;/font&gt;&lt;/p&gt;

&lt;p class="x_MsoNormal"&gt;&lt;font face="Arial" size="2"&gt;I know the ASP.NET talk broke the rules by not having any code. It seemed like a worthwhile topic. I considered ways to roll a demo in, but it seemed kind of lame to say "here's some code that runs slow, and here's some code that runs fast". I don't know - I guess there was probably a way, but with 4 other talks I was a little distracted.&lt;br&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="x_MsoNormal"&gt;&lt;font face="Arial" size="2"&gt;Some of the demos used licensed components and are not runnable unless you have those components installed.&lt;/font&gt;&lt;/p&gt;

&lt;p class="x_MsoNormal"&gt;&lt;font face="Arial" size="2"&gt;Specifically:&lt;/font&gt;&lt;/p&gt;&lt;font face="Arial" size="2"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;ul&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;The Discoverable UI demo leveraged the ribbon control from DevComponents (&lt;a href="http://www.devcomponents.com/" target="_blank"&gt;http://www.devcomponents.com/&lt;/a&gt;)&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;The CAB Event Broker demo leveraged Neudesic’s &lt;a href="http://www.neudesic.com/Main.aspx?SS=7&amp;amp;PE=75" target="_blank"&gt;
Neuron ESB product&lt;/a&gt;.&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=18022" width="1" height="1"&gt;</content><author><name>Steve Saxon</name><uri>http://blogs.neudesic.com/members/Steve+Saxon.aspx</uri></author></entry><entry><title>Using Tile view with ListView in WinForms 2.0</title><link rel="alternate" type="text/html" href="http://blogs.neudesic.com/blogs/steve_saxon/archive/2006/06/16/172.aspx" /><id>http://blogs.neudesic.com/blogs/steve_saxon/archive/2006/06/16/172.aspx</id><published>2006-06-17T03:00:00Z</published><updated>2006-06-17T03:00:00Z</updated><content type="html">&lt;P&gt;One under-utilized control in WinForms is the ListView control, and in particular the Tile view, which lets you have an icon, title and up to two pieces of secondary text per item.&lt;/P&gt;
&lt;P&gt;Windows Explorer uses this to great effect, showing not only the name of the file, but also the type and size:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;IMG src="http://www.ruxp.net/newimg/posts/neudesic/lvtile_exp.gif" border="0"&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Such a view is fairly easy to recreate in WinForms 2.0. First add a ListView to the form. Change its View property to Tile. Add an ImageList, set up its size and color depth and add images to it. Set the LargeItemList property of the ListView to point to the imagelist.&lt;/P&gt;
&lt;P&gt;To make the secondary text (e.g. the file type and file size in Explorer), you will need to go to the ListView's Columns property and add 3 columns. Don't worry about setting the text or width - they're just hints to the control to tell it to expect additional information.&lt;/P&gt;
&lt;P&gt;Next add your items. Go to the Items property of the ListView. For each item, set its Text to the primary text of the item. Set the ImageIndex according to which icon you want highlighted.&lt;/P&gt;
&lt;P&gt;To add secondary text, go to the SubItems property of the item. Add up to 2 items (the number of columns you added minus 1 for the primary text), and for each, set its Text property as necessary.&lt;/P&gt;
&lt;P&gt;Running your app, you will get something like the screen below:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;IMG src="http://www.ruxp.net/newimg/posts/neudesic/lvtile.gif" border="0"&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Notice anything? The secondary text is black! Hmm... Thats annoying - it doesn't look like Explorer!&lt;/P&gt;
&lt;P&gt;It turns out there is a stupid trick you need to use to get the right visual effect. Go back to the ListView's properties. Find the OwnerDraw property in the Properties inspector and set it to True.&lt;/P&gt;
&lt;P&gt;Next, go to the Events inspector and double click the DrawItem event. Add this line to the event method:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;CODE&gt;e.DrawDefault = true;&lt;/CODE&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Run your app again. You should now get something like this:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;IMG src="http://www.ruxp.net/newimg/posts/neudesic/lvtile_od.gif" border="0"&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;It seems the default owner drawing code does the right thing. I haven't looked at Explorer's window to see if this is what it is doing. Either way, its fairly goofy, and I wouldn't have found it if I hadn't been about to leap in and draw the whole thing from scratch to work around the issue. Ah well.&lt;/P&gt;&lt;/CODE&gt;
&lt;BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=172" width="1" height="1"&gt;</content><author><name>Steve Saxon</name><uri>http://blogs.neudesic.com/members/Steve+Saxon.aspx</uri></author></entry><entry><title>Code/PPT for ObjectBuilder and CAB talks</title><link rel="alternate" type="text/html" href="http://blogs.neudesic.com/blogs/steve_saxon/archive/2006/05/07/111.aspx" /><id>http://blogs.neudesic.com/blogs/steve_saxon/archive/2006/05/07/111.aspx</id><published>2006-05-07T18:08:00Z</published><updated>2006-05-07T18:08:00Z</updated><content type="html">&lt;P&gt;Thank you to everyone who attended my talks at Desert Code Camp. While Object Builder and the Composite UI Application Block (CAB) both have a fairly steep learning curve, I hope you will now appreciate how powerful they are, and with a little investment in learning them you can builder richer applications faster, and with less dependencies between modules.&lt;/P&gt;
&lt;P&gt;I have put the code and presentations for both talks here:&lt;BR&gt;&lt;A href="http://www.neudesic.com/uploads/steve_saxon/desertcodecamp.zip"&gt;http://www.neudesic.com/uploads/steve_saxon/desertcodecamp.zip&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;If you have further questions on Object Builder or CAB, email me at: &lt;A href="mailto:steve.saxon@neudesic.com"&gt;steve.saxon@neudesic.com&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;I also forgot to mention that we are hiring in our Phoenix office. If the topic of either of my talks seemed pretty basic to you, we would love to hear from you!&lt;/P&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=111" width="1" height="1"&gt;</content><author><name>Steve Saxon</name><uri>http://blogs.neudesic.com/members/Steve+Saxon.aspx</uri></author></entry><entry><title>ObjectBuilder and CAB talks at Desert Code Camp</title><link rel="alternate" type="text/html" href="http://blogs.neudesic.com/blogs/steve_saxon/archive/2006/04/24/100.aspx" /><id>http://blogs.neudesic.com/blogs/steve_saxon/archive/2006/04/24/100.aspx</id><published>2006-04-24T17:22:00Z</published><updated>2006-04-24T17:22:00Z</updated><content type="html">&lt;P&gt;I will be giving two talks at the upcoming Desert Code Camp&amp;nbsp;at the University of Advancing Technology in&amp;nbsp;Tempe, AZ on May 6th.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://www.desertcodecamp.com/signUp.aspx?session=30"&gt;&lt;STRONG&gt;Modularize your applications using ObjectBuilder&lt;/STRONG&gt;&lt;BR&gt;&lt;/A&gt;Enterprise Library January 2006 includes a new base component called ObjectBuilder that lets you significantly modularize your application code and break tight inter-module dependencies through "dependency injection". 
&lt;LI&gt;&lt;STRONG&gt;&lt;A href="http://www.desertcodecamp.com/signUp.aspx?session=28"&gt;Writing loosely couple WinForms apps using Composite UI Application Block (CAB)&lt;/A&gt;&lt;BR&gt;&lt;/STRONG&gt;Provides an introduction to CAB. Takes you through how to build your first CAB-based application, and explains why you care.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;To sign up click the links above, or to learn about the other sessions visit the Desert Code Camp site:&lt;BR&gt;&lt;A href="http://www.desertcodecamp.com/"&gt;http://www.desertcodecamp.com/&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.neudesic.com/aggbug.aspx?PostID=100" width="1" height="1"&gt;</content><author><name>Steve Saxon</name><uri>http://blogs.neudesic.com/members/Steve+Saxon.aspx</uri></author></entry></feed>