Example #1
0
        private void MethodParametersGrid_DragDrop(object sender, DragEventArgs e)
        {
            var clientPoint = MethodParametersGrid.PointToClient(new Point(e.X, e.Y));

            if (e.Effect == DragDropEffects.Move && _newRowIndex != -1)
            {
                var rowIndexOfItemUnderMouse = MethodParametersGrid.HitTest(clientPoint.X, clientPoint.Y).RowIndex;

                if (rowIndexOfItemUnderMouse < 0)
                {
                    if (clientPoint.Y < _startPoint.Y)
                    {
                        rowIndexOfItemUnderMouse = 0;
                    }
                    else
                    {
                        rowIndexOfItemUnderMouse = Parameters.Count - 1;
                    }
                }

                var tmp = Parameters.ElementAt(_newRowIndex);
                Parameters.RemoveAt(_newRowIndex);
                Parameters.Insert(rowIndexOfItemUnderMouse, tmp);
                ReselectParameter();
            }
        }
Example #2
0
        private void ReselectParameter()
        {
            MethodParametersGrid.Refresh();
            MethodParametersGrid.Rows
            .Cast <DataGridViewRow>()
            .Single(row => row.DataBoundItem == _selectedItem).Selected = true;

            SelectionChanged();
        }
Example #3
0
 private void MethodParametersGrid_MouseMove(object sender, MouseEventArgs e)
 {
     if ((e.Button & MouseButtons.Left) == MouseButtons.Left &&
         _dragBoxFromMouseDown != Rectangle.Empty && !_dragBoxFromMouseDown.Contains(e.X, e.Y))
     {
         var dropEffect = MethodParametersGrid.DoDragDrop(
             MethodParametersGrid.Rows[_newRowIndex],
             DragDropEffects.Move);
     }
 }
Example #4
0
        private void MethodParametersGrid_MouseDown(object sender, MouseEventArgs e)
        {
            _newRowIndex = MethodParametersGrid.HitTest(e.X, e.Y).RowIndex;

            if (_newRowIndex == -1)
            {
                _dragBoxFromMouseDown = Rectangle.Empty;
                return;
            }

            _startPoint = new Point(e.X, e.Y);

            AdjustDragRectangle(e, SystemInformation.DragSize);
        }