• Drag and Drop on a DataGridView


    Here is a bit of sample code that allows you to drag and drop a cellvalue in a DataGridView (don’t forget to set the AllowDrop property of the DataGridView to true). Notice that you need to translate the X and Y properties of the DragEventArgs first (unlike the X and Y properties of the MouseEventArgs):

    private void dataGridView1_MouseDown( object sender, MouseEventArgs e )
    {
     DataGridView.HitTestInfo info = this.dataGridView1.HitTest( e.X, e.Y );
     if ( info.RowIndex != -1 && info.ColumnIndex != -1 )
     {
      Object value = this.dataGridView1.Rows[info.RowIndex].Cells[info.ColumnIndex].Value;
      if (  value != null )
      {
       this.dataGridView1.Rows[info.RowIndex].Cells[info.ColumnIndex].Value = null;
       this.DoDragDrop( value, DragDropEffects.Move );
      }
     }
    }

    private void dataGridView1_DragDrop( object sender, DragEventArgs e )
    {
     Point p = this.dataGridView1.PointToClient( new Point( e.X, e.Y ) );
     DataGridView.HitTestInfo info = this.dataGridView1.HitTest( p.X, p.Y );
     if ( info.RowIndex != -1 && info.ColumnIndex != -1 )
     {
      Object value = (Object)e.Data.GetData( typeof( string ) );
      this.dataGridView1.Rows[info.RowIndex].Cells[info.ColumnIndex].Value = value;
     }
    }

    private void dataGridView1_DragEnter( object sender, DragEventArgs e )
    {
     e.Effect = DragDropEffects.Move;
    }
  • 相关阅读:
    Confluence 6 在升级过程中查看合并日志
    Confluence 6 从 WIKI 标记整合到基于 XHTML 的存储格式
    Confluence 6 升级完成后的检查
    Confluence 6 超过当前许可证期限进行升级
    HDU2571--命运---DP
    HDU 2084 DP经典例子---数塔问题
    紫书第二章
    求组合数
    欧拉函数
    二分幂/快速幂
  • 原文地址:https://www.cnblogs.com/godwar/p/1042321.html
Copyright © 2020-2023  润新知