Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

Can TreeView Contorl automatically focus and un-focus by user right-clicking on a node without changing it's selected node?

Posted on 2006-11-05
9
Medium Priority
?
308 Views
Last Modified: 2010-04-16
Is there a property or do I have to write additional code for this behavior?  Basicly, The behavior like in Active Directory Users and Computer, if the root node is selected and has focus but I right click on like the Users folder, the Users folder would then be highlited and a pop-up menu appears pertains to the Users folder.  However, when I'm done wtih the pop-up of at this point I click on the empty area of the left pane, the root node would then again have the focus and it never lost the status as the "selected node"

Thanks.
0
Comment
Question by:lapucca
  • 4
  • 4
9 Comments
 
LVL 11

Expert Comment

by:Expert1701
ID: 17879208
The TreeView control in version 2.0 of the .NET Framework works that way.
0
 

Author Comment

by:lapucca
ID: 17879273
I am using vs2005, .net 2.0.  Currently in my application's TreeView control, the selectedNode isn't changed when I right-click on another node and the pop-up menu for the clicked-node does pop up.  But, the right-clicked Node doesn't get the focus (The node is not highlited).  So it's looking weird with the selectedNode high-lited but my mouse is over the clicked-node.

Is there a property that I need to set or un-set?  Thanks.
0
 
LVL 11

Expert Comment

by:Expert1701
ID: 17879293
Oh sorry, I did not read carefully enough: I thought the functionality you were looking for was the returning of focus to the root node (which it does), not the highlighting of the intermediate value.  When I set the HideSelection property to false, the TreeView works exactly like the Active Directory Users and Computers one.
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 11

Expert Comment

by:Mihai Stancescu
ID: 17880308
You can try this:

On the MouseDown event for the tree put this:

private void tree_MouseDown(object sender, MouseEventArgs e)
{
     if (e.Button == MouseButtons.Right && e.Clicks == 1) //make sure is only one right click... you can remove after &&
     {
         TreeNode aNode = tree.GetNodeAt(Cursor.Position.X,Cursor.Position.Y);
          if (aNode != null)
          {
                tree.SelectedNode = aNode;
          }
     }
}

Hope helps.
Regards,
Mishu
0
 

Author Comment

by:lapucca
ID: 17883399
I do have my HideSelection set to false.  When I right click on another node, the clicked-node does gain focus for a split seond when it's clicked but lose it back to the selected-node when the pop-up menu opens up.  The AD User and Computer snap-in retains the fous until the pop-up is closed or selected-menu action is done and performed.  Thanks.
0
 
LVL 11

Accepted Solution

by:
Expert1701 earned 2000 total points
ID: 17885257
Your ContextMenuStrip must be assigned to each TreeNode, not the TreeView control.
0
 

Author Comment

by:lapucca
ID: 17887063
Oh, I can assign a contextMenustrip to a TreeNode?  Do I do this in the designer and how?  Currently, I'm calling the context menus when the node is clicked with button.  Maybe that is the problem with the focus?  Thanks.
0
 
LVL 11

Expert Comment

by:Expert1701
ID: 17887327
You can only do this through the designer if your nodes are created at design-time.
0
 

Author Comment

by:lapucca
ID: 17891872
Ah, it does work that way.  I was able to assign it programmtically and it now works the way it should  thanks.
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

We all know that functional code is the leg that any good program stands on when it comes right down to it, however, if your program lacks a good user interface your product may not have the appeal needed to keep your customers happy. This issue can…
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
Please read the paragraph below before following the instructions in the video — there are important caveats in the paragraph that I did not mention in the video. If your PaperPort 12 or PaperPort 14 is failing to start, or crashing, or hanging, …
Is your data getting by on basic protection measures? In today’s climate of debilitating malware and ransomware—like WannaCry—that may not be enough. You need to establish more than basics, like a recovery plan that protects both data and endpoints.…
Suggested Courses
Course of the Month20 days, 19 hours left to enroll

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question