<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2enclosuresfull.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:media="http://search.yahoo.com/mrss/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><generator>NukeSyndicate 4.1.0</generator><ttl>60</ttl><title>.Net Preacher Show</title><link>http://www.dotnetpreacher.com/tabid/36/default.aspx</link><language>en-US</language><itunes:summary>The Dot Net Preacher is about preaching the good word of .NET to the uneducated heathen masses and bringing them into the light of .NET to save their souls from the mortal dangers of PHP, J2EE, Ruby, Python and other false idols. </itunes:summary><itunes:owner><itunes:name>The Dot Net Preacher</itunes:name><itunes:email>nospam@dotnetpreacher.com</itunes:email></itunes:owner><itunes:image href="http://www.dotnetpreacher.com/DesktopModules/NukeSyndicate/Images/Thumbnails/VisualStudioLogo.png" /><itunes:explicit>no</itunes:explicit><media:thumbnail url="http://www.dotnetpreacher.com/DesktopModules/NukeSyndicate/Images/Thumbnails/VisualStudioLogo.png" /><media:category scheme="http://www.itunes.com/dtds/podcast-1.0.dtd">Technology/Software How-To</media:category><media:category scheme="http://www.itunes.com/dtds/podcast-1.0.dtd">Technology</media:category><itunes:subtitle>The Dot Net Preacher is about preaching the good word of .NET to the uneducated heathen masses and bringing them into the light of .NET to save their souls from the mortal dangers of PHP, J2EE, Ruby, Python and other false idols.</itunes:subtitle><itunes:category text="Technology"><itunes:category text="Software How-To" /></itunes:category><itunes:category text="Technology" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/TheDotNetPreacher" type="application/rss+xml" /><item><title>Monetizing Web Sites Without Traditional Ads - Interview with Nico Westerdale</title><itunes:author>DotNetPreacher</itunes:author><itunes:summary><![CDATA[<p>Nico Westerdale owns and runs Bits du Jour and has a new partner program for web site owners to put discounted software deals on their own sites and even brand their &quot;stores&quot;. In this interview, I talk to Nico about Bits du Jour and his new partner program. It's still in beta with features being added, but it looks like a very exciting opportunity.</p>
<p>You can find Nico at <a href="http://www.bitsdujour.com">Bits du Jour here</a>.</p>
<p>And don't forget to <a href="http://www.dotnetpreacher.com/DailySoftwareDeals/tabid/56/Default.aspx">buy your software here</a>! :)</p>
<p><strong>Intro Music</strong>: Serenity</p>
<p><strong>By</strong>: Pulse</p>
<p>You can find <a target="_blank" href="http://music.podshow.com/music/producers/producerLibrary/artistdetails.php?BandHash=275debd0607f715595a2a5110b09ecc9">Pulse here</a>.</p>]]></itunes:summary><guid isPermaLink="false">http://www.dotnetpreacher.com/tabid/36/mid/375/view/detail/ItemId/10/default.aspx</guid><pubDate>Sun, 20 Jan 2008 06:00:00 GMT</pubDate><itunes:keywords>Marketing</itunes:keywords><media:content url="http://feeds.feedburner.com/~r/TheDotNetPreacher/~5/219869556/DotNetPreacher_009_Bits_Du_Jour.MP3" fileSize="21865824" type="application/octet-stream" /><itunes:explicit>no</itunes:explicit><description>&lt;img src="http://feeds.feedburner.com/~r/TheDotNetPreacher/~4/219869555" height="1" width="1"/&gt;</description><link>http://feeds.feedburner.com/~r/TheDotNetPreacher/~3/219869555/default.aspx</link><feedburner:origLink>http://www.dotnetpreacher.com/tabid/36/mid/375/view/detail/ItemId/10/default.aspx</feedburner:origLink><enclosure url="http://feeds.feedburner.com/~r/TheDotNetPreacher/~5/219869556/DotNetPreacher_009_Bits_Du_Jour.MP3" length="21865824" type="application/octet-stream" /><feedburner:origEnclosureLink>http://www.dotnetpreacher.com/Portals/0/DotNetPreacher_009_Bits_Du_Jour.MP3</feedburner:origEnclosureLink></item><item><title>Word of Mouth Marketing with Nick Longo</title><itunes:author>DotNetPreacher</itunes:author><itunes:summary><![CDATA[<p>So we're back with the Word of Mouth marketing portion of the interview with Nick Longo!</p>
<p>Nick covers a lot, and you may be surprised at just how simple some things are in Word of Mouth marketing. Nick has a lot of experience doing this, so I'm sure that you'll find this an enjoyable and informative show.</p>
<p>Oh...&nbsp;I almost forgot! If you can find it in your heart... Please tell a friend about the .NET Preacher Show! ;)</p>
<p>&nbsp;</p>
<p><strong>Intro Music:</strong> Tyg Das Combat</p>
<p><strong>By:</strong> The Digital Motion</p>
<p>You can find <a target="_blank" href="http://music.download.com/digitalmotion/3600-8359-100237070.html?tag=MDL_quickurl">The Digital Motion here</a>. Again, some very cool music that you can get for free!</p>
<p>&nbsp;</p>]]></itunes:summary><guid isPermaLink="false">http://www.dotnetpreacher.com/tabid/36/mid/375/view/detail/ItemId/9/default.aspx</guid><pubDate>Tue, 20 Nov 2007 06:00:00 GMT</pubDate><itunes:keywords>Marketing</itunes:keywords><media:content url="http://feeds.feedburner.com/~r/TheDotNetPreacher/~5/187729470/DotNetPreacher_008_Interview_with_Nick_Longo_Part_2.MP3" fileSize="27953397" type="application/octet-stream" /><itunes:explicit>no</itunes:explicit><description>&lt;img src="http://feeds.feedburner.com/~r/TheDotNetPreacher/~4/187729469" height="1" width="1"/&gt;</description><link>http://feeds.feedburner.com/~r/TheDotNetPreacher/~3/187729469/default.aspx</link><feedburner:origLink>http://www.dotnetpreacher.com/tabid/36/mid/375/view/detail/ItemId/9/default.aspx</feedburner:origLink><enclosure url="http://feeds.feedburner.com/~r/TheDotNetPreacher/~5/187729470/DotNetPreacher_008_Interview_with_Nick_Longo_Part_2.MP3" length="27953397" type="application/octet-stream" /><feedburner:origEnclosureLink>http://www.dotnetpreacher.com/Portals/0/DotNetPreacher_008_Interview_with_Nick_Longo_Part_2.MP3</feedburner:origEnclosureLink></item><item><title>Interview with Marketing Expert and Serial Entrepreneur Nick Longo</title><itunes:author>DotNetPreacher</itunes:author><itunes:summary><![CDATA[<p>It's been a while since the last episode, but I'm quite sure you'll agree that the wait has been worth it.</p>
<p>I interviewed Nick Longo and the interview went quite long, so this is part 1 of the interview. In this espisode, Nick talks about:</p>
<ul>
    <li>The new download site</li>
    <li>Advertising</li>
    <li>The commoditization of software</li>
    <li>&quot;The light switch&quot;</li>
    <li>Observing people</li>
    <li>Trends</li>
    <li>Invention vs. improvement</li>
    <li>Product strategy</li>
    <li>The Cosmic 80% Rule</li>
    <li>And a lot more...</li>
</ul>
<p>In&nbsp;the next installment of the interview Nick goes over Word of Mouth marketing and how to get that rolling. So make sure to stay tuned for that as you do NOT want to miss it.</p>
<p>You can find Nick on the web at <a href="http://www.nicholaslongo.com/">NicholasLongo.com</a>.</p>
<p>&nbsp;</p>
<p><strong>Intro Music:</strong> I Make My Own Money</p>
<p><strong>By:</strong> The Clintons</p>
<p>&quot;I Make My Own Money&quot; is certainly a mantra that every mISV can proudly chant, and you can find it and <a target="_blank" href="http://www.clintonsband.com/">The Clintons here</a>.</p>
<p>If you're wondering where the .NET Preacher gets all this cool music, most of it comes from <a target="_blank" href="http://music.podshow.com/">The PodSafe Music Network</a>. Make sure to check it out as there is lots of great music available for free!</p>
<p>&nbsp;</p>]]></itunes:summary><guid isPermaLink="false">http://www.dotnetpreacher.com/tabid/36/mid/375/view/detail/ItemId/8/default.aspx</guid><pubDate>Mon, 12 Nov 2007 06:00:00 GMT</pubDate><itunes:keywords>Marketing</itunes:keywords><media:content url="http://feeds.feedburner.com/~r/TheDotNetPreacher/~5/183416730/DotNetPreacher_007_Interview_with_Nick_Longo_Part_1.MP3" fileSize="66881282" type="application/octet-stream" /><itunes:explicit>no</itunes:explicit><description>&lt;img src="http://feeds.feedburner.com/~r/TheDotNetPreacher/~4/183416729" height="1" width="1"/&gt;</description><link>http://feeds.feedburner.com/~r/TheDotNetPreacher/~3/183416729/default.aspx</link><feedburner:origLink>http://www.dotnetpreacher.com/tabid/36/mid/375/view/detail/ItemId/8/default.aspx</feedburner:origLink><enclosure url="http://feeds.feedburner.com/~r/TheDotNetPreacher/~5/183416730/DotNetPreacher_007_Interview_with_Nick_Longo_Part_1.MP3" length="66881282" type="application/octet-stream" /><feedburner:origEnclosureLink>http://www.dotnetpreacher.com/Portals/0/DotNetPreacher_007_Interview_with_Nick_Longo_Part_1.MP3</feedburner:origEnclosureLink></item><item><title>Interview with Game Developer Gregg Seelhoff</title><itunes:author>DotNetPreacher</itunes:author><itunes:summary><![CDATA[<p>Gregg Seelhoff has been developing for 30 years with 25 of them in the game industry with his own game company. In this week's episode Gregg and I talk about game development, cross platform issues, and how XNA Game Studio Express and Visual Studio C# Express are a great gateway for game developers to get into developing console games for the XBox.</p>
<p>Gregg also talks about programming issues specific to games and things application developers can do to get into writing games, along with some resources online to help get started.</p>
<p>You can find Gregg on the web at <a href="http://www.sophsoft.com/">http://www.sophsoft.com/</a> and <a href="http://blog.gamecraft.org/">http://blog.gamecraft.org/</a>.</p>
<p>&nbsp;</p>
<p><strong>Intro Music:</strong> War Game</p>
<p><strong>By:</strong> Will Kriski</p>
<p>Appropriate for this episode, you can find War Game at Will's site at <a href="http://www.willkriski.com/">http://www.willkriski.com/</a>.</p>]]></itunes:summary><guid isPermaLink="false">http://www.dotnetpreacher.com/tabid/36/mid/375/view/detail/ItemId/7/default.aspx</guid><pubDate>Wed, 03 Oct 2007 05:00:00 GMT</pubDate><itunes:keywords>.NET</itunes:keywords><media:content url="http://feeds.feedburner.com/~r/TheDotNetPreacher/~5/164540648/DotNetPreacher_006_Gregg_Seelhoff_Game_Developer.MP3" fileSize="52742144" type="audio/mpeg" /><itunes:explicit>no</itunes:explicit><description>&lt;img src="http://feeds.feedburner.com/~r/TheDotNetPreacher/~4/164540647" height="1" width="1"/&gt;</description><link>http://feeds.feedburner.com/~r/TheDotNetPreacher/~3/164540647/default.aspx</link><feedburner:origLink>http://www.dotnetpreacher.com/tabid/36/mid/375/view/detail/ItemId/7/default.aspx</feedburner:origLink><enclosure url="http://feeds.feedburner.com/~r/TheDotNetPreacher/~5/164540648/DotNetPreacher_006_Gregg_Seelhoff_Game_Developer.MP3" length="52742144" type="audio/mpeg" /><feedburner:origEnclosureLink>http://www.dotnetpreacher.com/Portals/0/DotNetPreacher_006_Gregg_Seelhoff_Game_Developer.MP3</feedburner:origEnclosureLink></item><item><title>Web Automation - Programmatically Submitting Forms and Filling Text Inputs</title><itunes:author>DotNetPreacher</itunes:author><itunes:summary><![CDATA[<p>I regularly get emails about how to do web automation or browser automation in .NET. this is all despite (and largely because of) a previous tutorial and sample application I wrote on the subject that walks through how to automate a web browser in .NET 1.1.</p>
<p>So in this .NET Preacher Show we go over a few different ways to help automate a web browser control in .NET 2.0 with three ways to programmatically submit a form. Hopefully this walk through in the podcast will help people out more as there's a bit more explanation on web automation in here.</p>
<p>There are a few things in the sample application that illustrate side-effects of clicking the form submit button, so make sure to download it and check those out.</p>
<p>A lot of things are pretty trivial to do, but perhaps the most common thing needed is to programmatically click the submit button on a form. There are a few ways to do it, so here is the 'take-away' code from the sample application for programmatically clicking a submit button.</p>
<p>The three methods for programmatically clicking a web form submit button are:</p>
<!-- code formatted by http://manoli.net/csharpformat/ -->
<p><style type="text/css">

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: Consolas, "Courier New", Courier, Monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style></p>
<div class="csharpcode">
<pre class="alt"><span class="lnum">   1:  </span><span class="rem">// Submit Web Forms Method #1 - click submit button method 1</span></pre>
<pre><span class="lnum">   2:  </span><span class="rem">// This method is very reliable.</span></pre>
<pre class="alt"><span class="lnum">   3:  </span>HtmlElement el = wbrBrowser.Document.All[<span class="str">&quot;s1&quot;</span>];</pre>
<pre><span class="lnum">   4:  </span><span class="kwrd">object</span> obj = el.DomElement;</pre>
<pre class="alt"><span class="lnum">   5:  </span>System.Reflection.MethodInfo mi = obj.GetType().GetMethod(<span class="str">&quot;click&quot;</span>);</pre>
<pre><span class="lnum">   6:  </span>mi.Invoke(obj, <span class="kwrd">new</span> <span class="kwrd">object</span>[0]);</pre>
<pre class="alt"><span class="lnum">   7:  </span>&nbsp;</pre>
<pre><span class="lnum">   8:  </span><span class="rem">// Submit Web Forms Method #2 - click submit button method 2</span></pre>
<pre class="alt"><span class="lnum">   9:  </span><span class="rem">// This method sometimes fails if a form loses focus.</span></pre>
<pre><span class="lnum">  10:  </span>HtmlDocument doc = wbrBrowser.Document;</pre>
<pre class="alt"><span class="lnum">  11:  </span>doc.GetElementById(<span class="str">&quot;s1&quot;</span>).Focus();</pre>
<pre><span class="lnum">  12:  </span>SendKeys.Send(<span class="str">&quot;{ENTER}&quot;</span>);</pre>
<pre class="alt"><span class="lnum">  13:  </span>&nbsp;</pre>
<pre><span class="lnum">  14:  </span><span class="rem">// Submit Web Forms Method #3 - click submit button method 3</span></pre>
<pre class="alt"><span class="lnum">  15:  </span><span class="rem">// Another way to submit a form.</span></pre>
<pre><span class="lnum">  16:  </span>HtmlElementCollection elcol = wbrBrowser.Document.All.GetElementsByName(<span class="str">&quot;WebAutomation&quot;</span>);</pre>
<pre class="alt"><span class="lnum">  17:  </span><span class="kwrd">foreach</span> (HtmlElement el <span class="kwrd">in</span> elcol)</pre>
<pre><span class="lnum">  18:  </span>{</pre>
<pre class="alt"><span class="lnum">  19:  </span>    <span class="kwrd">if</span> (el.TagName.ToLower().Equals(<span class="str">&quot;form&quot;</span>))</pre>
<pre><span class="lnum">  20:  </span>    {</pre>
<pre class="alt"><span class="lnum">  21:  </span>        el.InvokeMember(<span class="str">&quot;submit&quot;</span>);</pre>
<pre><span class="lnum">  22:  </span>        <span class="kwrd">break</span>;</pre>
<pre class="alt"><span class="lnum">  23:  </span>    }</pre>
<pre><span class="lnum">  24:  </span>}</pre>
</div>
<p>&nbsp;We also quickly go over how to programmatically fill in text in a form input. It's very simple, and here's how to do that:</p>
<div class="csharpcode">
<pre class="alt"><span class="lnum">   1:  </span><span class="rem">// When you know the ID or name of an element, you have complete control of it. </span></pre>
<pre><span class="lnum">   2:  </span><span class="rem">// Here we simply change the value of the input.</span></pre>
<pre class="alt"><span class="lnum">   3:  </span>HtmlDocument doc = wbrBrowser.Document;</pre>
<pre><span class="lnum">   4:  </span>doc.GetElementById(<span class="str">&quot;t1&quot;</span>).InnerText = <span class="kwrd">this</span>.btnFill1.Text;</pre>
</div>
<p>Of course the text that you fill could be anything you want on the right side of the equals sign.</p>
<p>Download the sample application at <a href="http://www.dotnetpreacher.com/">http://www.dotnetpreacher.com/</a>.</p>
<p>&nbsp;</p>
<p><strong>Intro Music:</strong> Shit Out Of Luck</p>
<p><strong>By:</strong> Straightfork</p>
<p>Being forced to use a PHP script, I needed to setup a couple WIMP servers (Windows IIS MySQL PHP) and really, truly felt SOL (not SQL) as getting the 'cross-platform' script to work took a lot more effort than simply installing it. In any event, this show's intro music reflects that. You can find <a target="_blank" href="http://www.myspace.com/straightfork">Straightfork here</a>.</p>
<p>&nbsp;</p>]]></itunes:summary><guid isPermaLink="false">http://www.dotnetpreacher.com/tabid/36/mid/375/view/detail/ItemId/6/default.aspx</guid><pubDate>Sat, 08 Sep 2007 05:00:00 GMT</pubDate><itunes:keywords>.NET</itunes:keywords><media:content url="http://feeds.feedburner.com/~r/TheDotNetPreacher/~5/153735261/DotNetPreacher_005_Web_Automation.MP3" fileSize="11262200" type="application/octet-stream" /><itunes:explicit>no</itunes:explicit><description>&lt;img src="http://feeds.feedburner.com/~r/TheDotNetPreacher/~4/153735260" height="1" width="1"/&gt;</description><link>http://feeds.feedburner.com/~r/TheDotNetPreacher/~3/153735260/default.aspx</link><feedburner:origLink>http://www.dotnetpreacher.com/tabid/36/mid/375/view/detail/ItemId/6/default.aspx</feedburner:origLink><enclosure url="http://feeds.feedburner.com/~r/TheDotNetPreacher/~5/153735261/DotNetPreacher_005_Web_Automation.MP3" length="11262200" type="application/octet-stream" /><feedburner:origEnclosureLink>http://www.dotnetpreacher.com/Portals/0/DotNetPreacher_005_Web_Automation.MP3</feedburner:origEnclosureLink></item><item><title>Interview with Grant Frisken from Infralution</title><itunes:author>DotNetPreacher</itunes:author><itunes:summary><![CDATA[<p>The .NET Preacher starts off this week's sermon with a public reminder that if you're sleeping with the Devil and not getting the love you deserve, you can find .NET salvation at Microsoft.com. :)</p>
<p>We then get a bit more serious wth a fantastic interview with Grant Frisken from Infralution. Infralution produces .NET components for developers.</p>
<p>Grant has a good number of products available at <a target="_blank" href="http://www.Infralution.com/">Infralution.com</a>&nbsp;and most of them come out of his own needs. We also discuss his new Globalizer.NET application.</p>
<p>No spoilers here - so you'll have to download and listen! Ok - One spoiler, the .NET Preacher does use some of Infralution's software, and is fanatically happy with it! Truly an answer to prayer!</p>
<p>&nbsp;</p>
<p><strong>Intro Music:</strong> Sleeping with the Devil</p>
<p><strong>By:</strong> Johnny Nicolas</p>
<p>You can find Johnny's music&nbsp;on the web <a target="_blank" href="http://www.topcatrecords.com/read-press-release/johnny-nicholas-thrill-on-the-hill.htm">here</a>.</p>]]></itunes:summary><guid isPermaLink="false">http://www.dotnetpreacher.com/tabid/36/mid/375/view/detail/ItemId/5/default.aspx</guid><pubDate>Mon, 13 Aug 2007 05:00:00 GMT</pubDate><itunes:keywords>.NET</itunes:keywords><media:content url="http://feeds.feedburner.com/~r/TheDotNetPreacher/~5/143663745/DotNetPreacher_004_Grant-Frisken-Infralution-Interview.MP3" fileSize="31670400" type="application/octet-stream" /><itunes:explicit>no</itunes:explicit><description>&lt;img src="http://feeds.feedburner.com/~r/TheDotNetPreacher/~4/143663744" height="1" width="1"/&gt;</description><link>http://feeds.feedburner.com/~r/TheDotNetPreacher/~3/143663744/default.aspx</link><feedburner:origLink>http://www.dotnetpreacher.com/tabid/36/mid/375/view/detail/ItemId/5/default.aspx</feedburner:origLink><enclosure url="http://feeds.feedburner.com/~r/TheDotNetPreacher/~5/143663745/DotNetPreacher_004_Grant-Frisken-Infralution-Interview.MP3" length="31670400" type="application/octet-stream" /><feedburner:origEnclosureLink>http://www.dotnetpreacher.com/Portals/0/DotNetPreacher_004_Grant-Frisken-Infralution-Interview.MP3</feedburner:origEnclosureLink></item><item><title>God Hates Penguins, But He Loves Threading and Delegates!</title><itunes:author>DotNetPreacher</itunes:author><itunes:summary><![CDATA[<p>On this .NET Preacher Show, we start off with a public service announcement to help save your soul from the dangers of penguin loving and the eternal fires of damnation! Notice the prominent Satanic Pentagram on the penguin's chest in this episodes graphic! A sure fire sign that he's in league with Satan! (We'll have more on the Devil in a future episode...)</p>
<p>We then get a bit more serious with some some .NET news, a quick introduction to DotNetNuke for those that have been hiding for the last few years&mdash;or consorting with penguins&mdash;and then head off to explore a sample application.</p>
<p>The sample application this time around demonstrates how to pass a custom object to a threadpool and notify your main application of the status of what's going on in the thread.</p>
<p>Code snippits to pay attention to in the sample application are:</p>
<!-- code formatted by http://manoli.net/csharpformat/ -->
<p><style type="text/css">

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: Consolas, "Courier New", Courier, Monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style></p>
<div class="csharpcode">
<pre class="alt"><span class="lnum">   1:  </span><span class="rem">// How we start the thread...</span></pre>
<pre><span class="lnum">   2:  </span><span class="kwrd">bool</span> b = ThreadPool.QueueUserWorkItem(<span class="kwrd">new</span> WaitCallback(doStuff.RunProcess), obj);</pre>
<pre class="alt"><span class="lnum">   3:  </span><span class="rem">// How we call back to the delegate method in the main application</span></pre>
<pre><span class="lnum">   4:  </span>m_sender.BeginInvoke(m_senderDelegate, <span class="kwrd">new</span> <span class="kwrd">object</span>[] { reversed, <span class="kwrd">false</span> });</pre>
</div>
<p>&nbsp;We go over them and how they releate to other things in the show.</p>
<p>Those that are less familiar with delgates may wish to print out the code to look at while they're listening to the show.&nbsp;</p>
<p>The sample application is extremely simple with no mucky extras to confuse you. It's also extensively commented and includes step-by-step instructions on how to follow through on your own without the podcast. Of course you'd miss out on all the other goodies in the podcast if you didn't listen to it, and God just might mistake you for a <strong>PENGUIN LOVER</strong>! So... If you know what's good for your eternal soul, you'll download this episode of the Dot Net Preacher Show and get it on your iPod... Errr... I mean Zune! Yeah! On your Zune to listen to! (No heretics here by George! You can send the Spanish Inquisition back home!)</p>
<p>Make sure to tune in next time for an interview with Grant Frisken from Infralution.</p>
<p>Cheers,</p>
<p>The Dot Net Preacher</p>
<p>&nbsp;</p>
<p><strong>Intro &amp; Outro Music</strong>: God Hates Penguins</p>
<p><strong>By</strong>: 1) BJam and 2) Big Mountain Fudge Cake</p>
<p>You can find <a target="_blank" href="http://www.thebjam.com/mod/song/view_song.php?song_id=12&amp;album_id=12">BJam here</a> and <a target="_blank" href="http://www.bigmountainfudgecake.com/">Big Mountain Fudge Cake here</a>.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></itunes:summary><guid isPermaLink="false">http://www.dotnetpreacher.com/tabid/36/mid/375/view/detail/ItemId/4/default.aspx</guid><pubDate>Sat, 04 Aug 2007 05:00:00 GMT</pubDate><itunes:keywords>.NET</itunes:keywords><media:content url="http://feeds.feedburner.com/~r/TheDotNetPreacher/~5/140574393/DotNetPreacher_003_Threadpool_Delegate_Custom_Object.MP3" fileSize="15171712" type="application/octet-stream" /><itunes:explicit>no</itunes:explicit><description>&lt;img src="http://feeds.feedburner.com/~r/TheDotNetPreacher/~4/140574392" height="1" width="1"/&gt;</description><link>http://feeds.feedburner.com/~r/TheDotNetPreacher/~3/140574392/default.aspx</link><feedburner:origLink>http://www.dotnetpreacher.com/tabid/36/mid/375/view/detail/ItemId/4/default.aspx</feedburner:origLink><enclosure url="http://feeds.feedburner.com/~r/TheDotNetPreacher/~5/140574393/DotNetPreacher_003_Threadpool_Delegate_Custom_Object.MP3" length="15171712" type="application/octet-stream" /><feedburner:origEnclosureLink>http://www.dotnetpreacher.com/Portals/0/DotNetPreacher_003_Threadpool_Delegate_Custom_Object.MP3</feedburner:origEnclosureLink></item><item><title>Buy, Lic and Splash!</title><itunes:author>DotNetPreacher</itunes:author><itunes:summary><![CDATA[<p>That was &quot;lic&quot; as in license! Get your mind out of the gutter!</p>
<p>This is a short follow-up to the last show with a few examples of where you can easily make use of the Load vs. Shown events.</p>
<p>The three things that are good uses are for splash screens in the Load event, and Buy Now or License screens in the Shown event.</p>
<p>There are two very simple sample applications that demonstrate the differences. Here's the code for the two forms:</p>
<!-- code formatted by http://manoli.net/csharpformat/ -->
<p><style type="text/css">

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: Consolas, "Courier New", Courier, Monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style></p>
<div class="csharpcode">
<pre><span class="lnum">   1:  </span><span class="kwrd">namespace</span> DotNetPreacher_001_Shown_A</pre>
<pre><span class="lnum">   2:  </span>{</pre>
<pre><span class="lnum">   3:  </span>    <span class="kwrd">public</span> <span class="kwrd">partial</span> <span class="kwrd">class</span> Form1 : Form</pre>
<pre><span class="lnum">   4:  </span>    {</pre>
<pre><span class="lnum">   5:  </span>        <span class="kwrd">public</span> Form1()</pre>
<pre><span class="lnum">   6:  </span>        {</pre>
<pre><span class="lnum">   7:  </span>            InitializeComponent();</pre>
<pre><span class="lnum">   8:  </span>        }</pre>
<pre><span class="lnum">   9:  </span>&nbsp;</pre>
<pre><span class="lnum">  10:  </span>        <span class="kwrd">private</span> <span class="kwrd">void</span> Form1_Load(<span class="kwrd">object</span> sender, EventArgs e)</pre>
<pre><span class="lnum">  11:  </span>        {</pre>
<pre><span class="lnum">  12:  </span>            <span class="rem">// Here we create the splash form in the Load event. Notice how the main form doesn't show when you run it.</span></pre>
<pre><span class="lnum">  13:  </span>            SplashScreen splash = <span class="kwrd">new</span> SplashScreen();</pre>
<pre><span class="lnum">  14:  </span>            splash.ShowDialog();</pre>
<pre><span class="lnum">  15:  </span>            <span class="rem">// See the Shown event for another hint on getting rid of the splash screen.</span></pre>
<pre><span class="lnum">  16:  </span>            <span class="rem">// Check the other sample app for an example of showing the license form in the Shown event.</span></pre>
<pre><span class="lnum">  17:  </span>        }</pre>
<pre><span class="lnum">  18:  </span>&nbsp;</pre>
<pre><span class="lnum">  19:  </span>        <span class="kwrd">private</span> <span class="kwrd">void</span> Form1_Shown(<span class="kwrd">object</span> sender, EventArgs e)</pre>
<pre><span class="lnum">  20:  </span>        {</pre>
<pre><span class="lnum">  21:  </span>            <span class="rem">// This might be a good place to get rid of your splash screen. In that case, you may wish to move the</span></pre>
<pre><span class="lnum">  22:  </span>            <span class="rem">// declaration to a global scope and then create it in the load event.</span></pre>
<pre><span class="lnum">  23:  </span>            <span class="rem">// This would be normal as you don't generally have any way to close a splash screen. </span></pre>
<pre><span class="lnum">  24:  </span>            <span class="rem">// i.e. The &quot;splash&quot; above would have it's form border style set to none.</span></pre>
<pre><span class="lnum">  25:  </span>            <span class="rem">//    e.g. splash.FormBorderStyle = FormBorderStyle.None; // But probably done in the designer...</span></pre>
<pre><span class="lnum">  26:  </span>        }</pre>
<pre><span class="lnum">  27:  </span>    }</pre>
<pre><span class="lnum">  28:  </span>}</pre>
<pre><span class="lnum">  29:  </span>&nbsp;</pre>
<pre><span class="lnum">  30:  </span>&nbsp;</pre>
<pre><span class="lnum">  31:  </span><span class="kwrd">namespace</span> DotNetPreacher_001_Shown_B</pre>
<pre><span class="lnum">  32:  </span>{</pre>
<pre><span class="lnum">  33:  </span>    <span class="kwrd">public</span> <span class="kwrd">partial</span> <span class="kwrd">class</span> Form1 : Form</pre>
<pre><span class="lnum">  34:  </span>    {</pre>
<pre><span class="lnum">  35:  </span>        <span class="kwrd">public</span> Form1()</pre>
<pre><span class="lnum">  36:  </span>        {</pre>
<pre><span class="lnum">  37:  </span>            InitializeComponent();</pre>
<pre><span class="lnum">  38:  </span>        }</pre>
<pre><span class="lnum">  39:  </span>&nbsp;</pre>
<pre><span class="lnum">  40:  </span>        <span class="kwrd">private</span> <span class="kwrd">void</span> Form1_Shown(<span class="kwrd">object</span> sender, EventArgs e)</pre>
<pre><span class="lnum">  41:  </span>        {</pre>
<pre><span class="lnum">  42:  </span>            <span class="rem">// Here we load the license form in the Shown event when the main form is shown.</span></pre>
<pre><span class="lnum">  43:  </span>            <span class="rem">// Notice here how you can see the main form behind the license form.</span></pre>
<pre><span class="lnum">  44:  </span>            LicenseForm lic = <span class="kwrd">new</span> LicenseForm();</pre>
<pre><span class="lnum">  45:  </span>            lic.ShowDialog();</pre>
<pre><span class="lnum">  46:  </span>        }</pre>
<pre><span class="lnum">  47:  </span>    }</pre>
<pre><span class="lnum">  48:  </span>}</pre>
</div>
<p>&nbsp;Pretty simple stuff. The effect is what you're after though.</p>
<p>Cheers!</p>
<p>The Dot Net Preacher</p>
<p>&nbsp;</p>
<p><strong>Intro Music:</strong> Sunlight Euphoria</p>
<p><strong>By: </strong>U~Gene</p>
<p>You can find U~Gene and more great music at <a href="http://ugene.promodj.ru">http://ugene.promodj.ru</a>. (It's in Russian, but you'll manage. The links are easy to see.)</p>
<p>&nbsp;</p>]]></itunes:summary><guid isPermaLink="false">http://www.dotnetpreacher.com/tabid/36/mid/375/view/detail/ItemId/3/default.aspx</guid><pubDate>Mon, 23 Jul 2007 05:00:00 GMT</pubDate><itunes:keywords>.NET</itunes:keywords><media:content url="http://feeds.feedburner.com/~r/TheDotNetPreacher/~5/136520234/DotNetPreacher_002_License_BuyNow_Splash_Screens.MP3" fileSize="2893952" type="application/octet-stream" /><itunes:explicit>no</itunes:explicit><description>&lt;img src="http://feeds.feedburner.com/~r/TheDotNetPreacher/~4/136520233" height="1" width="1"/&gt;</description><link>http://feeds.feedburner.com/~r/TheDotNetPreacher/~3/136520233/default.aspx</link><feedburner:origLink>http://www.dotnetpreacher.com/tabid/36/mid/375/view/detail/ItemId/3/default.aspx</feedburner:origLink><enclosure url="http://feeds.feedburner.com/~r/TheDotNetPreacher/~5/136520234/DotNetPreacher_002_License_BuyNow_Splash_Screens.MP3" length="2893952" type="application/octet-stream" /><feedburner:origEnclosureLink>http://www.dotnetpreacher.com/Portals/0/DotNetPreacher_002_License_BuyNow_Splash_Screens.MP3</feedburner:origEnclosureLink></item><item><title>Shown vs. Load and Quick, Easy Applications Settings with Properties in .NET</title><itunes:author>DotNetPreacher</itunes:author><itunes:summary><![CDATA[<p>For the first Dot Net Preacher show, we take a look at the difference between the Shown and Load events, then go on to see how .NET makes it easy to save application settings with almost no effort using&nbsp; 
 
  
 
    
 
   
 
 
 
    
 
 
  
   
 
 
 
 
 

 
   
<font face="Courier New">NAMESPACE.Properties</font>.</p>
<p>The two take away tidbits of code for adding Properties to your 2.0 .NET application are:</p>
<p><font face="Courier New">using DotNetPreacher_001_Shown.Properties;</font></p>
<p>That gives you access to the settings, and:</p>
<p><font face="Courier New">Settings.Default.Save();</font></p>
<p>That lets you save your application settings. See the sample application for details.</p>
<p>Download the sample application here:</p>
<p><a lang="en" id="ShownLoadProperties" dir="ltr" title="Download code samples for The Dot Net Preacher Show, episode #1." href="http://www.dotnetpreacher.com/Portals/0/CodeSamples/DotNetPreacher_001_Shown.zip" name="ShownLoadProperties">Episode #1: Shown vs. Load &amp; Properties</a></p>
<p><strong>Intro Music:</strong> &quot;Two Gods&quot;<br />
<strong>By:</strong> Attrition</p>
<p>You can find those blasphemers at <a target="_blank" href="http://www.attrition.co.uk/">http://www.attrition.co.uk/</a>&nbsp;(Caution - that only works in Internet Explorer... Don't blame me... I told you they were blashphemers!), or you can also find them at <a target="_blank" href="http://www.myspace.com/danteskitchen">http://www.myspace.com/danteskitchen</a>.&nbsp;</p>
<p>&nbsp;</p>]]></itunes:summary><guid isPermaLink="false">http://www.dotnetpreacher.com/tabid/36/mid/375/view/detail/ItemId/2/default.aspx</guid><pubDate>Sat, 21 Jul 2007 05:00:00 GMT</pubDate><itunes:keywords>.NET</itunes:keywords><media:content url="http://feeds.feedburner.com/~r/TheDotNetPreacher/~5/136369151/DotNetPreacher_001_Load_Shown_Properties.MP3" fileSize="9400448" type="application/octet-stream" /><itunes:explicit>no</itunes:explicit><description>&lt;img src="http://feeds.feedburner.com/~r/TheDotNetPreacher/~4/136369150" height="1" width="1"/&gt;</description><link>http://feeds.feedburner.com/~r/TheDotNetPreacher/~3/136369150/default.aspx</link><feedburner:origLink>http://www.dotnetpreacher.com/tabid/36/mid/375/view/detail/ItemId/2/default.aspx</feedburner:origLink><enclosure url="http://feeds.feedburner.com/~r/TheDotNetPreacher/~5/136369151/DotNetPreacher_001_Load_Shown_Properties.MP3" length="9400448" type="application/octet-stream" /><feedburner:origEnclosureLink>http://www.dotnetpreacher.com/Portals/0/DotNetPreacher_001_Load_Shown_Properties.MP3</feedburner:origEnclosureLink></item><item><title>Introducing The Dot Net Preacher</title><itunes:author>DotNetPreacher</itunes:author><itunes:summary><![CDATA[<p>Welcome to the Dot Net Preacher show where we'll talk about all things .NET.<br />
<br />
If you're interested in getting into programming, or you're a seasoned .NET developer, there's something for everyone.<br />
<br />
Download the first Dot Net Preacher show for more information on what it's all about.<br />
<br />
Cheers,<br />
<br />
The Dot Net Preacher</p>
<p>&nbsp;</p>
<p><strong>Intro Music::</strong> &quot;Gayer Than God&quot;<br />
<strong>By:</strong> Assacre</p>
<p>You can find these godless heathens at <a href="http://www.assacre.com/">http://www.assacre.com/</a></p>
<p>&nbsp;</p>]]></itunes:summary><guid isPermaLink="false">http://www.dotnetpreacher.com/tabid/36/mid/375/view/detail/ItemId/1/default.aspx</guid><pubDate>Wed, 13 Jun 2007 05:00:00 GMT</pubDate><itunes:keywords>Intro</itunes:keywords><media:content url="http://feeds.feedburner.com/~r/TheDotNetPreacher/~5/136369153/DotNetPreacher_001.MP3" fileSize="2526435" type="audio/mpeg" /><itunes:explicit>no</itunes:explicit><description>&lt;img src="http://feeds.feedburner.com/~r/TheDotNetPreacher/~4/136369152" height="1" width="1"/&gt;</description><link>http://feeds.feedburner.com/~r/TheDotNetPreacher/~3/136369152/default.aspx</link><feedburner:origLink>http://www.dotnetpreacher.com/tabid/36/mid/375/view/detail/ItemId/1/default.aspx</feedburner:origLink><enclosure url="http://feeds.feedburner.com/~r/TheDotNetPreacher/~5/136369153/DotNetPreacher_001.MP3" length="2526435" type="audio/mpeg" /><feedburner:origEnclosureLink>http://www.dotnetpreacher.com/Portals/0/DotNetPreacher_001.MP3</feedburner:origEnclosureLink></item><media:rating>nonadult</media:rating></channel></rss>
