Ejemplo n.º 1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="TreeViewWithSearchResults"/> class.
        /// Require a default constructor for the designer.
        /// </summary>
        public TreeViewWithSearchResults()
        {
            InitializeComponent();

            mainListView.MouseDoubleClick += MainListView_MouseDoubleClick;
            mainListView.MouseDown        += MainListView_MouseDown;
            mainListView.Resize           += MainListView_Resize;
            mainListView.FullRowSelect     = true;

            mainTreeView.HideSelection = false;

            mainTreeView.NodeMouseDoubleClick += (o, e) =>
            {
                TreeNodeMouseDoubleClick?.Invoke(o, e);
            };

            mainTreeView.NodeMouseClick += (o, e) =>
            {
                if (TreeNodeMouseClick != null)
                {
                    // if user left clicked a folder, show the contents of that folder in the list view
                    if (e.Button == MouseButtons.Left && e.Node.Tag is TreeViewFolder)
                    {
                        mainListView.Items.Clear();
                        foreach (TreeNode node in e.Node.Nodes)
                        {
                            AddNodeToListView(node);
                        }
                    }

                    TreeNodeMouseClick(o, e);
                }
            };
        }
 private void MainTreeView_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
 {
     TreeNodeMouseDoubleClick?.Invoke(sender, e);
 }