For Trees I just stuck with the .NET TreeView. It's easier, got a tonne of features and best of all it allows you to store data in each node too. I simply convert the data to variant then convert the string data to a byte array then I convert both the byte array and type descriptors to .net objects and store them in a .NET ArrayList. Retrieving the data is just going the opposite direction.
For Trees I just stuck with the .NET TreeView. It's easier, got a tonne of features and best of all it allows you to store data in each node too. I simply convert the data to variant then convert the string data to a byte array then I convert both the byte array and type descriptors to .net objects and store them in a .NET ArrayList. Retrieving the data is just going the opposite direction.