• 0

[vb.net] treeview and listview controls


Question

i'm trying to use the treeview and listview controls similar to how they would look in something like explorer. i would have nodes in the treeview that would change what was shown in the listview. i am pretty fluent in vb.net (not as much as some of you, i'm sure), but i've never used these controls before. i think i have got down adding new nodes to the treeview, but i'll have to play with it for a while. also, i need to find out how to delete/remove a node and all its subnodes, but i should be able to figure this out from MSDN.

if possible, i'd also like to know how to modify the contents of these via a context menu (like explorer). ie. rename, delete, new folder/node, etc. how can i have the treeview take what the user types as a new name when they select "rename" from the context menu, etc?

Link to comment
https://www.neowin.net/forum/topic/112450-vbnet-treeview-and-listview-controls/
Share on other sites

7 answers to this question

Recommended Posts

  • 0

add node: treeview.items.add "text"

remove: treeview.items.remove(index of node you wish to remove)

rename node: treeview.items(index of node).text = "new text"

its pretty much the same for the treeview

to add a treeview item with an image however, assign an imagelist to it, and in the parameters of the .add function, you can specify which icon index to use for the picture

  • 0

i've figured out how to delete a node, so that works fine. i also discovered the user can rename a node by clicking on the selected node. this will work... but it's not what i want. i'd like to know how to programatically "click" the selected node so the user can type a different name for it.

also, how can i highlight a node of my choice? :blink: this is my code to add a subnode to the selected node. the last line is supposed tho highlight the newly created node. i swear should work, but it doesn't :huh:

  VB.NET said:
Dim temp As New TreeNode()

Dim parentNode As TreeNode

parentNode = TreeView1.SelectedNode

temp.Text = "New subnode"

parentNode.Nodes.Add(temp.Text) ? ?'add the subnode to the selected parent node

parentNode.Expand() ? ? ?? ? ? ? ?? ? ? ?? 'expand parent node, so new subnode is visible

TreeView1.SelectedNode = temp ? ?? ?'this SHOULD highlight/select the new subnode i just created two lines ago

edit: colo:cool:d code rules :cool:

Edited by gameguy
  • 0

This isn't totally on-topic, but I should make a VB.NET code colorizer that converts VB.NET code into IPB colorized code. :)

I might make my own little app like that. :) gameguy, do you know the API to get the icon for an EXE, and the icon for a file association?

  • 0

memodude: sorry, i don't know anything about getting an icon from an exe :/ all i know how to do is use reshacker to extract them :whistle:

winston: what do you mean "add code" to a node? :blink: i figured out how to add and delete a node (and i could probably change the order if i wanted...) but what are you wanting to do?

now that i have the treeview done, i need to make a context menu (right click menu, for when the user right clicks a node) and work on the listview control. i tried playing around with the context menu, but it doesn't like me or something, so i'll put that aside for now :happy:

  • 0

Try adding a

TreeView1.Select

after TreeView1.SelectedNode = temp so that the treeview becomes the active control.

and then add

newNode.BeginEdit()

If you want the users to rename on adding the new node.

Make sure the treeview has the LabelEdit property set to true.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.