CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 8 of 8
  1. #1
    Join Date
    Nov 2009
    Posts
    61

    Talking Treeview Auto select?

    Hey there gurus!!; )

    I have my made my treeview like this.


    Treeview and then i have 2 textboxes.

    First textsbox is the parent:
    TreeNode tr = new TreeNode(textBox1.Text);
    treeView1.Nodes.Add(tr);

    Which reads the textbox1.

    Then i have a Child:
    TreeNode tr2 = new TreeNode(textBox2.Text);
    TreeNode tr3 = new TreeNode();
    tr3 = treeView1.SelectedNode:
    tr3.Nodes.Add(tr2);

    I want the selected node to be textbox1.text?

    How do i do this?

    Thank you for helping me, i appriciate that!

  2. #2
    Join Date
    Nov 2009
    Location
    .net 3.5 csharp 2008 developer
    Posts
    36

    Re: Treeview Auto select?

    Code:
    TreeNode tr3 = new TreeNode();
    tr3 = treeView1.SelectedNode:
    tr3.Nodes.Add(tr2);
    That makes no sense what so ever. What you are doing is creating a new TreeNode, then immediately discard it by taking over the tr3 variable with the selected node.

    But, what you are asking for is quite simple. Just assign whatever TreeNode you want to be selected to the treeView1.SelectedNode


    Code:
    public class MyAwesomeApp
    {
    
    
    	public void buttonDoStuff_Click(object sender, EventArgs e)
    	{
    		TreeNode treeNodeFirstNode = new TreeNode(textBoxFirst.text);
    		// do stuff here
    
    		// and then select the first node you created earlier
    		treeViewBlah.SelectedNode = treeNodeFirstNode;
    	}
    }

    Oh also, make it a habit to call your classes something meaningful. How trivial your program might seem at this point, it is always easier to understand the code later if your classes are named something appropriate rather than just treeView1
    Last edited by ixilom; December 2nd, 2009 at 04:21 PM.

  3. #3
    Join Date
    Nov 2009
    Posts
    61

    Re: Treeview Auto select?

    Nothing happens

    But my code should be like this yes?

    TreeNode tr2 = new TreeNode(textBox2.Text);
    TreeNode tr3 = new TreeNode();
    TreeNode treeNodeFirstNode = new TreeNode(textBox1.Text);
    tr3.Nodes.Add(tr2);

    Hm what am i not seeing?

  4. #4
    Join Date
    Nov 2009
    Location
    .net 3.5 csharp 2008 developer
    Posts
    36

    Re: Treeview Auto select?

    You ought to give me (us) more code, because from the codesnippet you have given us it is very hard to help you. What I can see in the snippet, you never add those nodes to the tree itself. They will not become visible, is this what you refer to "nothing happens" ?

    To add a first node to the treeview you would do something like this:
    Code:
    // Create the first node
    TreeNode treeNodeFirstOne = new TreeNode("first");
    // Add the first node to the treeview as a root node
    treeViewBonk.Nodes.Add(treeNodeFirstNode);
    
    // Create two new nodes
    TreeNode treeNodeSecondNode = new TreeNode("Second");
    TreeNode treeNodeThirdNode = new TreeNode("Third");
    
    // Add the newly created nodes to their respective parent node
    treeNodeFirstNode.Nodes.Add(treeNodeSecondNode);
    treeNodeSecondNode.Nodes.Add(treeNodeThirdNode);
    Notice that I only added the first node to the tree, as nodes that are added to the "treeNodeFirstNode" will become a part of the same treeview.
    However, you can add more nodes to the treeview if you want multiple "root" nodes.

    What my code basically does is that it adds treeNodeFirstNode to the treeview as the root node
    Then it creates two new nodes, adds the second to the first, the third to the second.
    It should look something like this when every node is expanded:
    Code:
    +First
        +Second
             +Third



    You need to be a bit more verbose on your answers/questions, we are not mindreaders

  5. #5
    Join Date
    Nov 2009
    Posts
    61

    Re: Treeview Auto select?

    here is my code
    Code:
      namespace WindowsFormsApplication1
    {
        public partial class Tree : Form
        {
            int taeller;
    
            public Tree()
            {
                taeller = 1;
                InitializeComponent();
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                TreeNode tr = new TreeNode(textBox1.Text);
                treeView1.Nodes.Add(tr);
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                TreeNode treeNodeSecondNode = new TreeNode(textBox2.Text);
                TreeNode tr = new TreeNode(textBox1.Text);
                treeView1.Select(1);
                treeView1.Nodes.Add(treeNodeSecondNode);
            }
    
            private void button3_Click(object sender, EventArgs e)
            {
                TreeNode tr2 = new TreeNode("Medarbejder Nr"+taeller.ToString());
                taeller++;
                TreeNode tr3 = new TreeNode();
                tr3 = treeView1.SelectedNode;
                tr3.Nodes.Add(tr2);
            }
    
            private void indsætMedarbejderToolStripMenuItem_Click(object sender, EventArgs e)
            {
                TreeNode tr2 = new TreeNode("Medarbejder Nr" + taeller.ToString());
                TreeNode tr3 = new TreeNode();
                tr3 = treeView1.SelectedNode;
                taeller++;
                tr3.Nodes.Add(tr2);
            }
    
            private void sletPersonMedarbToolStripMenuItem_Click(object sender, EventArgs e)
            {
                TreeNode trabc = new TreeNode();
                trabc = treeView1.SelectedNode;
                trabc.Remove();
            }
    The first node creates succesfully together with selected Menustrips
    Code:
            
                TreeNode tr = new TreeNode(textBox1.Text);
                treeView1.Nodes.Add(tr);
    
    
    private void indsætMedarbejderToolStripMenuItem_Click(object sender, EventArgs e)
            {
                TreeNode tr2 = new TreeNode("Medarbejder Nr" + taeller.ToString());
                TreeNode tr3 = new TreeNode();
                tr3 = treeView1.SelectedNode;
                taeller++;
                tr3.Nodes.Add(tr2);
            }
    
            private void sletPersonMedarbToolStripMenuItem_Click(object sender, EventArgs e)
            {
                TreeNode trabc = new TreeNode();
                trabc = treeView1.SelectedNode;
                trabc.Remove();
            }

    i want something like 1st node to happen with 2nd node..
    Code:
                TreeNode tr = new TreeNode(textBox1.Text);
                treeView1.Nodes.Add(tr);
    But it should go under as a child of textbox1.text.
    Please explain in an easy way Thank you

  6. #6
    Join Date
    Nov 2009
    Posts
    61

    Re: Treeview Auto select?

    Also Ur root

    TreeNode treeNodeFirstOne = new TreeNode("first");
    // Add the first node to the treeview as a root node
    treeViewBonk.Nodes.Add(treeNodeFirstNode);


    Dosnt work? Or what am i missing...
    treeViewBonk dosnt seem to exist?

  7. #7
    Join Date
    Nov 2009
    Location
    .net 3.5 csharp 2008 developer
    Posts
    36

    Re: Treeview Auto select?

    Ehm, treeViewBonk is just my example, in your code it is probably still called treeView1

    But it should go under as a child of textbox1.text
    That is what I tried to demonstrate in my previous post. Read it again.

    Code:
    TreeNode tr3 = new TreeNode();
    tr3 = treeView1.SelectedNode;
    You are still doing that part wrong. You create a new TreeNode, but discard it right away by passing the selected node to the tr3 variable.
    Just type it like:
    Code:
    TreeNode tr3 = treeView1.SelectedNode

  8. #8
    Join Date
    Nov 2009
    Posts
    61

    Re: Treeview Auto select?

    Im so **** confused, because ive changed my code mean while... was trying to solve to problem myself, but i couldnt ;(

    Code:
    private void button2_Click(object sender, EventArgs e)
            {
                TreeNode treeNodeFirstOne = new TreeNode(textBox1.Text);
                
                
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                TreeNode treeNodeSecondNode = new TreeNode(textBox2.Text);
                TreeNode tr = new TreeNode(textBox1.Text);
                TreeNode tr1 = treeView1.SelectedNode;
                tr1.Nodes.Add(treeNodeSecondNode);
    
            }
    
            private void button3_Click(object sender, EventArgs e)
            {
                TreeNode tr2 = new TreeNode("Medarbejder Nr"+taeller.ToString());
                taeller++;
                TreeNode tr3 = new TreeNode();
                tr3 = treeView1.SelectedNode;
                tr3.Nodes.Add(tr2);
            }

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured