<p>Having a problem getting a TreeView control to display node images. The code below works sometimes but fails to show any image at other times.</p>

<pre><code>
private TreeNode AddNodeForCore(TreeNode root, Core c) {
    string key = GetImageKey(c);
    TreeNode t = root.Nodes.Add(c.Name, c.Name, key, key);
    t.Tag = c;
    return t;
}
</code></pre>

<p>Note that when it fails, the TreeView fails to show any images for any node. The TreeView does have an ImageList assigned to it, and the image key is definitely in the images collection.</p>

<p>Edit:<br>
My google-fu is weak. Can't believe I didn't find that answer myself.</p>

A quick google search found this answer:
http://forums.microsoft.com/MSDN/ShowPost.aspx?siteid=1&PostID=965968
Quote
from that page:
If the Form containing the TreeView is instantiated in the add-in startup function as below, the icons appear!
```
```
public partial class ThisApplication
{
    Form1 frm;

    private void ThisApplication_Startup(object sender, System.EventArgs e)
    {
        frm  = new Form1();
        frm.Show();

    }
```
```
BUT, if instantiated with the class, as below:
```
```
public partial class ThisApplication
{
    Form1 frm = new Form1();

    private void ThisApplication_Startup(object sender, System.EventArgs e)
    {
                    frm.Show();

    }
```
```
Then they do NOT appear.    Furthermore, if "VisualStyles" (new with XP) are disabled, the icons work in both instances.