Advertisement
Guest User

Untitled

a guest
Oct 27th, 2016
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. public partial class Form1 : Form
  2. {
  3. public Form1()
  4. {
  5. InitializeComponent();
  6. }
  7.  
  8. private readonly Color selectedColor = Color.Red;
  9. private readonly Color normalColor = Color.Transparent;
  10.  
  11. private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
  12. {
  13. if (e.Action != TreeViewAction.ByKeyboard &&
  14. e.Action != TreeViewAction.ByMouse)
  15. return;
  16.  
  17. ResetAllNodes(treeView1.Nodes.Cast<TreeNode>());
  18. ChangeBackground(e.Node);
  19. }
  20.  
  21. private void ResetAllNodes(IEnumerable<TreeNode> nodes)
  22. {
  23. var treeNodes = nodes as TreeNode[] ?? nodes.ToArray();
  24. if (!treeNodes.Any())
  25. return;
  26.  
  27. foreach (var node in treeNodes)
  28. {
  29. node.BackColor = normalColor;
  30. ResetAllNodes(node.Nodes.Cast<TreeNode>());
  31. }
  32. }
  33.  
  34. private void ChangeBackground(TreeNode node)
  35. {
  36. node.BackColor = selectedColor;
  37. if (node.Parent == null)
  38. return;
  39.  
  40. ChangeBackground(node.Parent);
  41. }
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement