I am using a Windows Forms TreeView control in my program. I would like to allow the user to select multiple nodes at the same level by dragging their mouse pointer around (also called a "lasso" selection). I don't think a standard TreeView allows that.
My question is what would be the best way to achieve this? Do I have to write custom selection behaviour of my own in perhaps a custom or derived control? Where do I start?
I don't need a detailed explanation. Just a small nudge in the right direction.
Consider implementing multiple selection in a control that supports multiple selection like listview. If you follow standards that most Windows users understand you'll end up with a solution that is easier to implement and easier to use.
If you really need something more elaborate you might need to consider developing a custom control.
This is not going to be easy to do with a standard WinForms
TreeView
control. TheTreeView
control only supports single selection per tree. It is not possible to simultaneously select multiple nodes in the tree.In order to get this behavior you would likely end up needing to create a very similar class to
TreeView
which allowed for multiple selection. Another option is to derive fromTreeView
and enable multiple selection by overriding specific behaviors. Here is an article on how to do the latter.