<?xml version="1.0" encoding="utf-8"?>
<feed xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xml:lang="en-ie" xmlns="http://www.w3.org/2005/Atom">
  <title>Tim Mackey's Weblog</title>
  <link rel="alternate" type="text/html" href="http://tim.mackey.ie/" />
  <link rel="self" href="http://tim.mackey.ie/SyndicationService.asmx/GetAtom" />
  <icon>favicon.ico</icon>
  <updated>2012-01-16T10:08:16.714625+00:00</updated>
  <author>
    <name>Tim Mackey</name>
  </author>
  <subtitle>mostly.Net</subtitle>
  <id>http://tim.mackey.ie/</id>
  <generator uri="http://dasblog.info/" version="2.3.9074.18820">DasBlog</generator>
  <entry>
    <title>.Net windows forms Multi-line ComboBox / text-wrapping</title>
    <link rel="alternate" type="text/html" href="http://tim.mackey.ie/NetWindowsFormsMultilineComboBoxTextwrapping.aspx" />
    <id>http://tim.mackey.ie/PermaLink,guid,13058183-db6d-4740-8817-0cd1013d9052.aspx</id>
    <published>2012-01-16T10:08:16.714625+00:00</published>
    <updated>2012-01-16T10:08:16.714625+00:00</updated>
    <category term=".Net Windows Forms" label=".Net Windows Forms" scheme="http://tim.mackey.ie/CategoryView,category,NetWindowsForms.aspx" />
    <author>
      <name>Tim Mackey</name>
    </author>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">seems like the most basic requirement for
a list control... but there we are.  use this as a replacement for the System.Windows.Forms.ComboBox. 
<br /><br /><pre>using System;<br />
using System.Drawing;<br />
using System.Windows.Forms;<br /><br />
namespace Whatever<br />
{<br />
class ComboBoxWrap : ComboBox<br />
{<br />
public ComboBoxWrap() : base()<br />
{<br />
// add event handlers<br />
this.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawVariable;<br />
this.DrawItem += new DrawItemEventHandler(ComboBoxWrap_DrawItem);<br />
this.MeasureItem += new MeasureItemEventHandler(ComboBoxWrap_MeasureItem);<br />
}<br /><br />
void ComboBoxWrap_MeasureItem(object sender, MeasureItemEventArgs e)<br />
{<br />
// set the height of the item, using MeasureString with the font and control width<br />
ComboBoxWrap ddl = (ComboBoxWrap)sender;<br />
string text = ddl.Items[e.Index].ToString();<br />
SizeF size = e.Graphics.MeasureString(text.ToString(), this.Font, ddl.Width);<br />
e.ItemHeight = (int)Math.Ceiling(size.Height) + 1; // plus one for the border<br />
}<br /><br />
void ComboBoxWrap_DrawItem(object sender, DrawItemEventArgs e)<br />
{<br />
if (e.Index &lt; 0)<br />
return;<br /><br />
// draw a lighter blue selected BG colour, the dark blue default has poor contrast
with black text on a dark blue background<br />
if ((e.State &amp; DrawItemState.Selected) == DrawItemState.Selected)<br />
e.Graphics.FillRectangle(Brushes.PowderBlue, e.Bounds);<br />
else<br />
e.Graphics.FillRectangle(Brushes.White, e.Bounds);<br /><br />
// get the text of the item<br />
ComboBoxWrap ddl = (ComboBoxWrap)sender;<br />
string text = ddl.Items[e.Index].ToString();<br /><br />
// don't dispose the brush afterwards<br />
Brush b = Brushes.Black;<br />
e.Graphics.DrawString(text, this.Font, b, e.Bounds, StringFormat.GenericDefault);<br /><br />
// draw a light grey border line to separate the items<br />
Pen p = new Pen(Brushes.Gainsboro, 1);<br />
e.Graphics.DrawLine(p, new Point(e.Bounds.Left, e.Bounds.Bottom-1), new Point(e.Bounds.Right,
e.Bounds.Bottom-1));<br />
p.Dispose();<br /><br />
e.DrawFocusRectangle();<br />
}<br />
}<br />
}<br /><br /></pre><p></p><img width="0" height="0" src="http://tim.mackey.ie/aggbug.ashx?id=13058183-db6d-4740-8817-0cd1013d9052" /></div>
    </content>
  </entry>
  <entry>
    <title>Locating the TypeGuessRows registry key on Windows 64-bit operating systems</title>
    <link rel="alternate" type="text/html" href="http://tim.mackey.ie/LocatingTheTypeGuessRowsRegistryKeyOnWindows64bitOperatingSystems.aspx" />
    <id>http://tim.mackey.ie/PermaLink,guid,b2a5320e-a121-4a33-b15b-924638047fe7.aspx</id>
    <published>2012-01-01T22:19:39+00:00</published>
    <updated>2012-01-13T17:20:57.7309361+00:00</updated>
    <category term=".Net General" label=".Net General" scheme="http://tim.mackey.ie/CategoryView,category,NetGeneral.aspx" />
    <category term="Database" label="Database" scheme="http://tim.mackey.ie/CategoryView,category,Database.aspx" />
    <author>
      <name>Tim Mackey</name>
    </author>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p class="title">
Data truncated to 255 characters with Excel Jet/ODBC driver: <a href="http://support.microsoft.com/kb/189897">http://support.microsoft.com/kb/189897</a><br /></p>
Solution: <a href="http://support.sas.com/kb/31/765.html">http://support.sas.com/kb/31/765.html</a><br /><pre><span style="font-family: monospace;"><strong>My Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines\Excel<br /></strong></span></pre><p>
Set to 0 to avoid the truncation problem!
</p><p></p><img width="0" height="0" src="http://tim.mackey.ie/aggbug.ashx?id=b2a5320e-a121-4a33-b15b-924638047fe7" /></div>
    </content>
  </entry>
  <entry>
    <title>Excel interop with .Net / Server 2008</title>
    <link rel="alternate" type="text/html" href="http://tim.mackey.ie/ExcelInteropWithNetServer2008.aspx" />
    <id>http://tim.mackey.ie/PermaLink,guid,ef1b363f-dc12-4106-a797-6d2c37c7b905.aspx</id>
    <published>2011-12-28T21:16:30.042+00:00</published>
    <updated>2011-12-28T21:16:30.042+00:00</updated>
    <category term=".Net General" label=".Net General" scheme="http://tim.mackey.ie/CategoryView,category,NetGeneral.aspx" />
    <category term="Asp.Net" label="Asp.Net" scheme="http://tim.mackey.ie/CategoryView,category,AspNet.aspx" />
    <author>
      <name>Tim Mackey</name>
    </author>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">I'm using Asp.Net to open excel files and
read the values cell by cell, normally i prefer to import Excel files as a datatable,
but some documents don't fit the strict rows/columns format required for importing
into a DataTable.  the code i'm using is based on <a href="http://dotnetperls.com/excel-interop">this
from dotnetperls</a>.  worked fine for the most part on my dev PC but I had a
few issues trying to get this to work on a 32bit version of excel on a 64 bit Windows
2008 server. 
<br />
here's what i had to do to get it working: 
<br /><ul><li>
disable macros (throwing exceptions opening the workbook), requires a reference to
the Microsoft.Office.Core assembly:<br />
excelApp.AutomationSecurity = Microsoft.Office.Core.MsoAutomationSecurity.msoAutomationSecurityForceDisable;  
// disable macros</li><li>
give launch / open permissions to the Excel application in DCOM config, this was tricky
because it isn't shown in a 64 bit OS if the program is 32 bit, i found <a href="http://social.technet.microsoft.com/Forums/en-US/w7itproappcompat/thread/dde69147-a01a-4eb1-8ea9-31adbf874bed/">the
answer here</a>.</li><li>
set the identity in DCOM for Excel to the interactive user.</li></ul><p><br /></p><p></p><img width="0" height="0" src="http://tim.mackey.ie/aggbug.ashx?id=ef1b363f-dc12-4106-a797-6d2c37c7b905" /></div>
    </content>
  </entry>
  <entry>
    <title>Asus P6T deluxe v2 overclock settings with Intel i7 920</title>
    <link rel="alternate" type="text/html" href="http://tim.mackey.ie/AsusP6TDeluxeV2OverclockSettingsWithIntelI7920.aspx" />
    <id>http://tim.mackey.ie/PermaLink,guid,cf9965fa-a763-4aff-8371-b7896dc551fa.aspx</id>
    <published>2011-10-14T13:42:08.8906627+01:00</published>
    <updated>2011-10-14T13:42:08.8906627+01:00</updated>
    <category term="General" label="General" scheme="http://tim.mackey.ie/CategoryView,category,General.aspx" />
    <author>
      <name>Tim Mackey</name>
    </author>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Found a safe/low-temp overclock @ 3.6Ghz
for this board. Using 1600Mhz DDR3 RAM. standard air cooling in a z-machine GT1000
case. 
<br /><br />
RAM set to XMP profile #1. 8/8/8/24/1.66V/1.35v<br />
BCLK:180<br />
PCIE:100<br />
Speedstep/turbotech:enable<br />
RAM:~1450 Mhz<br />
CPU Volt:1.25V<br />
QPI/DRAM:1.35V<br />
DRAM bus:1.66v<br /><br />
everything else auto/default<br />
CPU Fan and chassis fan set to Standard profile. 
<br /><br />
44c @ idle. 66c under orthos CPU stress test.  The 1.25 CPU voltage keeps the
temps nice and low, and it's very stable.  the 920 does this o'c with ease, could
probably go lower but stability is more of a priority for a software dev PC. 
<br /><p></p><img width="0" height="0" src="http://tim.mackey.ie/aggbug.ashx?id=cf9965fa-a763-4aff-8371-b7896dc551fa" /></div>
    </content>
  </entry>
  <entry>
    <title>Playing a DVD remotely from a network share</title>
    <link rel="alternate" type="text/html" href="http://tim.mackey.ie/PlayingADVDRemotelyFromANetworkShare.aspx" />
    <id>http://tim.mackey.ie/PermaLink,guid,d744e74a-f851-4f18-b9d0-91fedb03182a.aspx</id>
    <published>2011-01-24T20:43:52.636375+00:00</published>
    <updated>2011-01-24T20:43:52.636375+00:00</updated>
    <category term="General" label="General" scheme="http://tim.mackey.ie/CategoryView,category,General.aspx" />
    <author>
      <name>Tim Mackey</name>
    </author>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">you can rip a DVD and then stream the file
to a remote computer, or with VLC media player you can stream the DVD itself, but
that takes a bit of setting up.  i wanted to pop a DVD into my desktop PC and
then play it remotely from a netbook plugged in to the TV.  so i share out the
DVD drive on the desktop, all well and good, i can see the VIDEO_TS and AUDIO_TS folders
on the netbook, but there isn't an Autoplay option or any way to 'start' the DVD. 
i found a useful tip from the <a href="http://forum.videolan.org/viewtopic.php?t=2132">VLC
forums</a>, you can drag the VIDEO_TS folder into VLC (on the netbook, for example)
and then it will start playing the DVD, with full support for menus and chapters etc. 
The bit i got stuck on was that you have to start the DVD for a few seconds on the
host PC (desktop in my case) which authenticates the disc and allows it to be streamed.  
<br /><br />
not very high tech, but handy, if you ever find yourself without a DVD player. 
<br /><p></p><img width="0" height="0" src="http://tim.mackey.ie/aggbug.ashx?id=d744e74a-f851-4f18-b9d0-91fedb03182a" /></div>
    </content>
  </entry>
  <entry>
    <title>Gridview Delete via LinqDataSource fails with ChangeConflictException: Row not found or changed</title>
    <link rel="alternate" type="text/html" href="http://tim.mackey.ie/GridviewDeleteViaLinqDataSourceFailsWithChangeConflictExceptionRowNotFoundOrChanged.aspx" />
    <id>http://tim.mackey.ie/PermaLink,guid,f64c50ed-6a72-4d18-b966-079bd740282f.aspx</id>
    <published>2010-09-14T12:50:05.3+01:00</published>
    <updated>2010-09-14T15:16:01.346875+01:00</updated>
    <category term=".Net General" label=".Net General" scheme="http://tim.mackey.ie/CategoryView,category,NetGeneral.aspx" />
    <category term="Database" label="Database" scheme="http://tim.mackey.ie/CategoryView,category,Database.aspx" />
    <author>
      <name>Tim Mackey</name>
    </author>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">if you use SqlMetal to generate DataContext
classes against an SQL database, you might run into some problems with GridView and
deleting a row, when using a LinqDataSource.<br />
this was a very frustrating problem to track down, apparently there is a bug in the
LinqDataSource with datetime fields.  i kept getting this error: ChangeConflictException:
Row not found or changed<br />
and there was no apparent reason why it was happening, because the same code worked
for other tables.  I eventually narrowed it down to the only difference between
the two tables, a non nullable datetime field. changing this field to nullable removed
the problem. 
<br /><a href="http://forums.asp.net/t/1016914.aspx">this thread</a> was useful in troubleshooting
the problem.<br />
i also found that calling DataBind() on the LinqDataSource before re-binding the GridView
helped get rid of this error message.<br /><p></p><img width="0" height="0" src="http://tim.mackey.ie/aggbug.ashx?id=f64c50ed-6a72-4d18-b966-079bd740282f" /></div>
    </content>
  </entry>
  <entry>
    <title>Nokia Ovi Suite Calendar Sync Cancelled error message</title>
    <link rel="alternate" type="text/html" href="http://tim.mackey.ie/NokiaOviSuiteCalendarSyncCancelledErrorMessage.aspx" />
    <id>http://tim.mackey.ie/PermaLink,guid,f165282b-2995-4b18-97f5-dd9cf1c8a6e2.aspx</id>
    <published>2010-06-17T09:44:58.435375+01:00</published>
    <updated>2010-06-17T09:44:58.435375+01:00</updated>
    <category term="General" label="General" scheme="http://tim.mackey.ie/CategoryView,category,General.aspx" />
    <author>
      <name>Tim Mackey</name>
    </author>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">I have a nokia E52 and in general i'm very
happy with the Nokia Ovi Suite software.  But today it refused to synchronise
my calendar with a "Sync Cancelled" error message, other items synchronised fine. 
The solution was to reset the nokia profile/files on my computer.  Make sure
to close Outlook, Ovi Suite, and end the "nokiamserver.exe" process.  Then open
up explorer and browse to C:\Users\Name\AppData\Local and C:\Users\Tim\AppData\Roaming. 
You could delete these files, but just in case i renamed the "Nokia" and "Nokia Ovi
Suite" folders to "xNokia" and "xNokia Ovi Suite".  If anything goes wrong you
can always rename them back to their original names. 
<br />
Then open up Ovi Suite again and reconnect the phone.  It should synchronise
fine then, there must be some bug with the calendar synchronisation that can corrupt
the local database. 
<br /><p></p><img width="0" height="0" src="http://tim.mackey.ie/aggbug.ashx?id=f165282b-2995-4b18-97f5-dd9cf1c8a6e2" /></div>
    </content>
  </entry>
  <entry>
    <title>Excel interop with Asp.Net</title>
    <link rel="alternate" type="text/html" href="http://tim.mackey.ie/ExcelInteropWithAspNet.aspx" />
    <id>http://tim.mackey.ie/PermaLink,guid,4e0a72af-03e6-441d-bcd5-d8ed406d5209.aspx</id>
    <published>2010-06-11T18:32:37.92325+01:00</published>
    <updated>2010-06-11T18:32:37.92325+01:00</updated>
    <category term="Asp.Net" label="Asp.Net" scheme="http://tim.mackey.ie/CategoryView,category,AspNet.aspx" />
    <author>
      <name>Tim Mackey</name>
    </author>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Ran into a permissions problem today using <a href="http://www.codeproject.com/KB/office/fasterexcelaccesstoc.aspx">Excel
interop code</a> from within ASP.Net, which had worked fine from a windows forms application.<br />
Thanks to '<a href="http://www.mofeel.net/61-microsoft-public-dotnet-framework-interop/6941.aspx">Frosty</a>'
for his post which explains how to enable the appropriate permissions, reproducing
it here in case the link ever goes down:<br /><br /><blockquote>From command prompt / start-&gt;run... type dcomcnfg<br /><br />
Select Component Services-&gt;Computers-&gt;My Compter-&gt;DCOM Config<br /><br />
Scroll down and select Microsoft Excel Applicaton<br /><br />
Right click on Microsoft Excel Applicaton and select properties.<br /><br />
Select the Security tab<br /><br />
In Launch Permissions group box click Edit button.<br /><br />
Add the appropriate user for your particular situation. In my case, I<br />
selected MyDomainName\Domain Users.<br /><br />
Make sure that Allow check box is checked for your appropriate user.<br /><br />
Click OK<br /><br />
In Access Permissions group box click Edit button.<br /><br />
Add the appropriate user for your particular situation. In my case, I<br />
selected MyDomainName\Domain Users.<br /><br />
Make sure that Allow check box is checked for your appropriate user.<br /><br />
Click OK<br /><br />
Excel interop will now work via asp.net<br /></blockquote><p></p><img width="0" height="0" src="http://tim.mackey.ie/aggbug.ashx?id=4e0a72af-03e6-441d-bcd5-d8ed406d5209" /></div>
    </content>
  </entry>
  <entry>
    <title>Compact Framework - Using the Treeview to replace the ListBox</title>
    <link rel="alternate" type="text/html" href="http://tim.mackey.ie/CompactFrameworkUsingTheTreeviewToReplaceTheListBox.aspx" />
    <id>http://tim.mackey.ie/PermaLink,guid,caab5837-eebf-428b-a239-a5b266046f57.aspx</id>
    <published>2010-05-26T15:51:34.401+01:00</published>
    <updated>2010-05-26T15:54:46.839125+01:00</updated>
    <category term=".Net Compact" label=".Net Compact" scheme="http://tim.mackey.ie/CategoryView,category,NetCompact.aspx" />
    <author>
      <name>Tim Mackey</name>
    </author>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">As any compact framework developer will
tell you, the out-of-the-box ListBox control is a bit crap because it doesn't support
horizontal scrolling.  what were they thinking??<br />
anyway, after several work-arounds to this problem, i finally realised that the treeview
control does support horizontal scrolling, and you can load up a treeview to look
just like a listbox, having all the nodes added at the top level, i.e. a "flat" treeview.<br />
the extra bonus with this approach is that Windows Mobile 6.5 has a brilliant touch
friendly Treeview control that you can finger-drag up and down and left and right
(at least the HTC HD2 has this, i can't vouch for other devices). 
<br /><br />
i've included a "Chooser" class i wrote to make user selections easy to code for. 
to use the class, use the following approach, the SelectedItem string is kept as a
static variable in the Form so you can close and dispose the form straight away, and
still catch the "return" value of the form. If you pass in the parameter to use Checkboxes,
you can access the CheckedItems static property which is a List&lt;string&gt;.<br /><pre>Chooser c = new Chooser("Select Item", new string[]{"Option 1", "Option 2", "Option 3"}, true, true); 
<br />
DialogResult d = c.ShowDialog();<br />
c.Dispose();<br />
if(d != DialogResult.Cancel)<br />
MessageBox.Show("You chose " + Chooser.SelectedItem);<br /></pre>here's the class then:<br /><pre>using System;<br />
using System.Collections.Generic;<br />
using System.ComponentModel;<br />
using System.Data;<br />
using System.Drawing;<br />
using System.Text;<br />
using System.Windows.Forms;<br />
using System.Threading;<br /><br />
namespace IbenzaMobileUtil<br />
{<br />
public partial class Chooser : Form<br />
{<br />
private MainMenu mainMenu1;<br />
private MenuItem mmOK;<br />
private MenuItem mmCancel;<br />
private Label lblCaption;<br />
public static string SelectedItem = null;<br />
public static List&lt;string&gt; CheckedItems = null;<br />
private TreeView treeView1;<br />
private bool selectInvokesClose;<br /><br /><br />
public Chooser()<br />
{<br />
InitializeComponent();<br />
}<br /><br />
private Chooser(string Caption, bool FullScreen, bool SelectInvokesClose)<br />
{<br />
InitializeComponent();<br />
CheckedItems = new List&lt;string&gt;();<br />
SelectedItem = null;<br />
this.selectInvokesClose = SelectInvokesClose;<br />
this.lblCaption.Text = Caption;<br />
this.mmOK.Enabled = false;<br /><br />
if (FullScreen)<br />
{<br />
this.WindowState = FormWindowState.Maximized;<br />
this.FormBorderStyle = FormBorderStyle.None;<br />
this.ControlBox = false;<br />
this.MinimizeBox = false;<br />
}<br />
}<br /><br />
public Chooser(string Caption, string[] Items, bool FullScreen, bool SelectInvokesClose)<br />
: this(Caption, FullScreen, SelectInvokesClose)<br />
{<br />
this.treeView1.BeginUpdate();<br />
foreach (string s in Items)<br />
this.treeView1.Nodes.Add(s);<br />
this.treeView1.EndUpdate();<br />
}<br /><br />
public Chooser(string Caption, string[] Items, bool FullScreen, bool CheckBoxes, bool
SelectInvokesClose, bool CheckAll)<br />
: this(Caption, Items, FullScreen, SelectInvokesClose)<br />
{<br />
this.treeView1.CheckBoxes = CheckBoxes;<br />
if (CheckBoxes &amp;&amp; CheckAll)<br />
foreach (TreeNode node in this.treeView1.Nodes)<br />
node.Checked = true;<br />
if(CheckBoxes)<br />
this.mmOK.Enabled = true; // don't require any user input<br />
}<br /><br />
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)<br />
{<br />
this.mmOK.Enabled = true;<br />
if (selectInvokesClose)<br />
this.mmOK_Click(sender, EventArgs.Empty);<br />
}<br /><br />
#region Windows Form Designer generated code<br /><br />
/// &lt;summary&gt;<br />
/// Required designer variable.<br />
/// &lt;/summary&gt;<br />
private System.ComponentModel.IContainer components = null;<br /><br />
/// &lt;summary&gt;<br />
/// Clean up any resources being used.<br />
/// &lt;/summary&gt;<br />
/// &lt;param name="disposing"&gt;true if managed resources should be disposed; otherwise,
false.&lt;/param&gt;<br />
protected override void Dispose(bool disposing)<br />
{<br />
if (disposing &amp;&amp; (components != null))<br />
{<br />
components.Dispose();<br />
}<br />
base.Dispose(disposing);<br />
}<br /><br /><br />
/// &lt;summary&gt;<br />
/// Required method for Designer support - do not modify<br />
/// the contents of this method with the code editor.<br />
/// &lt;/summary&gt;<br />
private void InitializeComponent()<br />
{<br />
this.mainMenu1 = new System.Windows.Forms.MainMenu();<br />
this.mmCancel = new System.Windows.Forms.MenuItem();<br />
this.mmOK = new System.Windows.Forms.MenuItem();<br />
this.lblCaption = new System.Windows.Forms.Label();<br />
this.treeView1 = new System.Windows.Forms.TreeView();<br />
this.SuspendLayout();<br />
// 
<br />
// mainMenu1<br />
// 
<br />
this.mainMenu1.MenuItems.Add(this.mmCancel);<br />
this.mainMenu1.MenuItems.Add(this.mmOK);<br />
// 
<br />
// mmCancel<br />
// 
<br />
this.mmCancel.Text = "Cancel";<br />
this.mmCancel.Click += new System.EventHandler(this.mmCancel_Click);<br />
// 
<br />
// mmOK<br />
// 
<br />
this.mmOK.Text = "OK";<br />
this.mmOK.Click += new System.EventHandler(this.mmOK_Click);<br />
// 
<br />
// lblCaption<br />
// 
<br />
this.lblCaption.Dock = System.Windows.Forms.DockStyle.Top;<br />
this.lblCaption.Font = new System.Drawing.Font("Tahoma", 10F, System.Drawing.FontStyle.Bold);<br />
this.lblCaption.Location = new System.Drawing.Point(0, 0);<br />
this.lblCaption.Name = "lblCaption";<br />
this.lblCaption.Size = new System.Drawing.Size(240, 27);<br />
this.lblCaption.Text = "...";<br />
// 
<br />
// treeView1<br />
// 
<br />
this.treeView1.Dock = System.Windows.Forms.DockStyle.Fill;<br />
this.treeView1.Location = new System.Drawing.Point(0, 27);<br />
this.treeView1.Name = "treeView1";<br />
this.treeView1.ShowLines = false;<br />
this.treeView1.ShowPlusMinus = false;<br />
this.treeView1.ShowRootLines = false;<br />
this.treeView1.Size = new System.Drawing.Size(240, 241);<br />
this.treeView1.TabIndex = 12;<br />
// 
<br />
// Chooser<br />
// 
<br />
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);<br />
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;<br />
this.AutoScroll = true;<br />
this.ClientSize = new System.Drawing.Size(240, 268);<br />
this.ControlBox = false;<br />
this.Controls.Add(this.treeView1);<br />
this.Controls.Add(this.lblCaption);<br />
this.KeyPreview = true;<br />
this.Menu = this.mainMenu1;<br />
this.MinimizeBox = false;<br />
this.Name = "Chooser";<br />
this.Text = "Choose Item";<br />
this.Load += new System.EventHandler(this.Chooser_Load);<br />
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Chooser_KeyDown);<br />
this.ResumeLayout(false);<br /><br />
}<br />
#endregion<br /><br />
private void Chooser_KeyDown(object sender, KeyEventArgs e)<br />
{<br />
if ((e.KeyCode == System.Windows.Forms.Keys.Enter))<br />
this.mmOK_Click(sender, EventArgs.Empty);<br />
}<br /><br />
private void mmOK_Click(object sender, EventArgs e)<br />
{<br />
if (this.treeView1.SelectedNode != null)<br />
Chooser.SelectedItem = this.treeView1.SelectedNode.Text;<br />
if (this.treeView1.CheckBoxes)<br />
foreach (TreeNode n in this.treeView1.Nodes)<br />
if (n.Checked)<br />
CheckedItems.Add(n.Text); 
<br /><br />
this.DialogResult = DialogResult.OK;<br />
this.Close();<br />
}<br /><br />
private void mmCancel_Click(object sender, EventArgs e)<br />
{<br />
this.DialogResult = DialogResult.Cancel;<br />
this.Close();<br />
}<br /><br />
private void Chooser_Load(object sender, EventArgs e)<br />
{<br />
this.treeView1.Focus();<br />
this.treeView1.SelectedNode = null;<br />
this.treeView1.AfterSelect += new TreeViewEventHandler(treeView1_AfterSelect);<br />
}<br />
}<br />
}<br /></pre><p></p><img width="0" height="0" src="http://tim.mackey.ie/aggbug.ashx?id=caab5837-eebf-428b-a239-a5b266046f57" /></div>
    </content>
  </entry>
  <entry>
    <title>Hillwalking in the Lakeland Fells</title>
    <link rel="alternate" type="text/html" href="http://tim.mackey.ie/HillwalkingInTheLakelandFells.aspx" />
    <id>http://tim.mackey.ie/PermaLink,guid,0c4c5e87-645a-4f02-a4f2-a24598ac8728.aspx</id>
    <published>2009-09-19T15:49:34.818+01:00</published>
    <updated>2010-04-09T17:23:12.930875+01:00</updated>
    <category term="Outdoors" label="Outdoors" scheme="http://tim.mackey.ie/CategoryView,category,Outdoors.aspx" />
    <author>
      <name>Tim Mackey</name>
    </author>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <img src="http://tim.mackey.ie/dev/grasmere_camp.jpg" />
        <br />
Just back from a two week trip in the Lake District in England, what a discovery. 
this photo was taken at sunrise at 500m on the last day.  unfortunately the first
10 days were mostly torrential rain, but it was worth it in the end. i want to go
back next year.  i posted some more info on the trip at the <a href="http://wainwright.proboards.com/index.cgi?board=general&amp;action=display&amp;thread=5081">wainwright
society forum</a> where i got some good advice before going.<br /><img src="http://tim.mackey.ie/dev/grasmere_sunrise.jpg" /><br /><p></p><img width="0" height="0" src="http://tim.mackey.ie/aggbug.ashx?id=0c4c5e87-645a-4f02-a4f2-a24598ac8728" /></div>
    </content>
  </entry>
</feed>
