Пример #1
0
        private void panel2_DragEnter(object sender, DragEventArgs e)
        {
            if (!e.Data.GetDataPresent(typeof(MatrixGrid)))
            {
                return;
            }
            var grid = (MatrixGrid)e.Data.GetData(typeof(MatrixGrid));
            var t    = grid.side;

            if (sender == workingPanelLeft)
            {
                if (leftNotNull)
                {
                    OperationController <int> .DeleteArgument(this, WorkingPanelSide.Left);
                }
                leftNotNull = true;

                OperationController <int> .ExecuteDragDrop(WorkingPanelSide.Left, grid, this);
            }

            else if (sender == workingPanelRight)
            {
                if (rightNotNull)
                {
                    OperationController <int> .DeleteArgument(this, WorkingPanelSide.Right);
                }
                rightNotNull = true;
                OperationController <int> .ExecuteDragDrop(WorkingPanelSide.Right, grid, this);
            }

            else if (sender == MatrixController <int> .panel)
            {
                MatrixController <int> .ExecuteDragDrop(grid);
            }
            MatrixController <int> .panel.AllowDrop = true;
            workingPanelLeft.AllowDrop  = true;
            workingPanelRight.AllowDrop = true;
            resultPanel.AllowDrop       = true;
            argumentsChanged.Invoke(this, null);
        }