Grauw’s blog

I’ve been submitting the occasional patch to EVEMon, a tool with which you can monitor the status of your skill training in the EVE Online game, and inspect items and ships. In particular, I added a compare-function to compare different items and ships. However, because in a .NET tree control you can’t select multiple items, this was done by a cumbersome button and pop-up window, instead of simple CTRL-clicking on the items that you want to compare.

So I’ve been looking for a multi-select control for .NET, and after discarding a couple I found Coder’s Lab’s Multi-Select TreeView. What’s great about this control is that unlike most other controls, it builds on top of the default .NET TreeView, and thus retains the standard look-and-feel and all the API, and is pretty much a drop-in replacement. Exactly what I was looking for!

The component comes with source-code included too. EVEMon’s project-owner objected against using closed-source code, so I asked the developer whether he could make the source code available, which he did soon thereafter. He turned out to be Belgian by the way, so I could communicate with him in Dutch ;p.

Anyway, if you’re ever looking for a multi-select treeview, I can recommend this one ^_^.

» Coder’s Lab’s Multi-Select TreeView control for .NET 2.0

Update: The control is now hosted on SourceForge, I updated the link.



code by NM at 2009-05-27 10:08

I cant seem to see the code.. only the exe file nd an explaining pdf...
is it possible to post the code as well?

Code by NM at 2009-05-27 10:08

I cant seem to see the code.. only an exe nd explaining pdf file.. is it possible to post the code as well please? thank u!

Re: Code by Grauw at 2009-05-27 10:31


The code is in SVN and can be found here (by clicking on the ‘Code’ tab on the Sourceforge page).

LabelEdit Error! by hisuzuki at 2009-10-01 09:38

1. treeView_.LabelEdit = true;
2. node click
3. Thread Error!


treeView_.LabelEdit = true;
treeView_.SelectionMode = CodersLab.Windows.Controls.TreeViewSelectionMode.MultiSelectSameParent;

TreeNode tnroot = new TreeNode( “ROOT” );
TreeNode treeNode1 = new TreeNode( “AAAAA” );
TreeNode treeNode2 = new TreeNode( “BBBBB” );
TreeNode treeNode3 = new TreeNode( “CCCCC” );
TreeNode treeNode4 = new TreeNode( “DDDDD” );
TreeNode treeNodex1 = new TreeNode( “C1” );
TreeNode treeNodex2 = new TreeNode( “C2” );
TreeNode treeNodex3 = new TreeNode( “C3” );
TreeNode treeNodex4 = new TreeNode( “C4” );

treeView_.Nodes.Add( tnroot );
tnroot. Nodes.Add( treeNode1 );
treeNode1.Nodes.Add( treeNode2 );
treeNode2.Nodes.Add( treeNode3 );
treeNode2.Nodes.Add( treeNode4 );
treeNode3.Nodes.Add( treeNodex1 );
treeNode3.Nodes.Add( treeNodex2 );
treeNode3.Nodes.Add( treeNodex3 );
treeNode3.Nodes.Add( treeNodex4 );


VS 2005 & 2008