示例#1
0
        /// <summary>
        /// Событие, срабатывающее, при нажатии на нод из TreeView.
        /// Если была нажата левая кнопка мыши, то в ListView выводятся все товары разделов и подразделов.
        /// Если была нажата правая кнопка мыши, то открывается контекстное меню для взаимодействия с программой.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void treeView_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                treeView.SelectedNode = treeView.GetNodeAt(e.Location);
                Dictionary <TreeNode, List <TreeNode> > treeNodes =
                    NodeController.GetDeepestNodes(treeView.SelectedNode, new Dictionary <TreeNode, List <TreeNode> >());

                GenerateListViewItems(treeNodes);
            }

            if (e.Button == MouseButtons.Right)
            {
                treeView.SelectedNode = treeView.GetNodeAt(e.Location);
                if (treeView.SelectedNode.Tag is StorageModel)
                {
                    ChangeActionToolStripsState(
                        false, true, false, true, true, true, true);
                }
                if (treeView.SelectedNode.Tag is SectionModel)
                {
                    ChangeActionToolStripsState(
                        false, true, true, true, true, true, false);
                }
                if (treeView.SelectedNode.Tag is ProductModel)
                {
                    ChangeActionToolStripsState(
                        false, false, false, true, true, false, false);
                }

                contextMenuStrip.Show(e.Location);
            }
        }