Don't ask the question this way. This is a quick answer forum, and your question contains more general idea to be implemented. First do some researching and when you meet some certain problem, then ask your question here. But without trying anything/without googling anything don't post such question.
And your question is more of a common issue. You can find lots of ideas/suggestions on internet - make use of it.
And just the tip- you don't have to create the treeview all by yourself, you can use the
NuGet packages[
^] for that. But still if you want to create it you can look at on the
Google[
^] first.
-KR