Gustav Brock
Gustav at cactus.dk
Sat Feb 28 15:59:57 CST 2009
Hi Drew Quite impressive! I've noticed that quite a few apps now use treeview style menus. Thus - and because I really had no clue how the users would navigate - I used a treeview for my latest app (WinForms) ... somewhat unsure what the users' reaction would be. But they adopted it from day one, and it must have been well thought out because no change has been requested to it. The app has been in use for three months now. One method I used to "sell" the structure was, that it is very easy to modify and expand. For example, you can walk the tree from different entries with a final destination of nearly the same information - from customer or supplier via orders/supplies to products - while you have a visual indication so you don't loose track of "where you are". This, I've found, is a situation users fear in larger apps - to get lost. /gustav >>> DWUTKA at marlow.com 28-02-2009 21:51 >>> Glad you like it Tina. I will warn you that the demo I posted for you is just the tip of the iceberg when it comes to what you can do with a treeview. A great example is 'HitTest'. It's a method of the Treeview control, where you give it x,y coordinates, and it returns the node at the coordinates. This allows you to create custom behaviors for left and right clicks (Mouse Up event gives you the x,y coordinates). Where you could use that in your system, you could actually start the root nodes as the Volunteers. And then have the child nodes be the skills and levels. The normal left click could have you 'check' if the skill nodes are built (and if not, build them, so you don't building thousands of nodes from the get go...), and the right click could display a popup menu such as 'edit volunteer information' or 'create a new skill', etc. Here's a visual example of one of the most highly used treeviews I have built: http://www.marlow.com/PhoneList.jpg That screen shot (I blurred the phone numbers...) shows what you can do with the image capabilities of a treeview. I've right clicked my name, showing the custom popup menu that displays (based on the node that was clicked). One of the expanded nodes is Currently logged on computers, if I expand one of those nodes, it gives me Remote Administrator (clicking on that node opens a remote admin session to that machine), computer management (clicking on that node opens a computer management session to that computer), local drives (expanding that node gives me a list of the local drives on that machine, which I can click to open a Windows Explorer session to that drive). All from one treeview! Good luck with your project (feel free to holler if you have any questions about what I did...)! Next to classes and collections, I've found Treeviews to be one of the most powerful tools in a developer's arsenal! Drew