您现在的位置是:首页 >

鼠标可以点击不能拖动 WinForm的鼠标拖拽功能

火烧 2021-11-11 15:58:13 1199
Wi Form的鼠标拖拽功能   Wi Form的鼠标拖拽功能  功能 此代码实现的是从资源管理器窗口选中一个或多个文件 拖入Wi Form窗体中 Wi Form后台代码变会得到被拖入的文件列表   

WinForm的鼠标拖拽功能  

  WinForm的鼠标拖拽功能

  功能 此代码实现的是从资源管理器窗口选中一个或多个文件 拖入WinForm窗体中 WinForm后台代码变会得到被拖入的文件列表

  思路 通过DragEnter事件获得被拖入窗口的 信息 (可以是若干文件 一些文字等等) 在DragDrop事件中对 信息 进行解析

   画面设计

  窗体的AllowDrop属性必须设置成true

  且必须有DragEnter事件(单独写DragDrop事件是不会具有拖拽功能的)

  画面的Designer Code(frmMain Designer cs)

  //

  // frmMain

  //

  this AllowDrop = true;

  this DragDrop += new System Windows Forms DragEventHandler(this frmMain_DragDrop);

  this DragEnter += new System Windows Forms DragEventHandler(this frmMain_DragEnter);

  //

  // dgv

  //

  this dgv AllowDrop = true;

  this dgv DragEnter += new System Windows Forms DragEventHandler(this frmMain_DragEnter);

  this dgv DragDrop += new System Windows Forms DragEventHandler(this frmMain_DragDrop);

   Form的后台代码

  重要代码 e Effect = DragDropEffects Link;

鼠标可以点击不能拖动 WinForm的鼠标拖拽功能

  (注 DragDropEffects枚举类型还有其他值 有兴趣的可以参照MSDN的帮助

   us/library/system windows forms dragdropeffects aspx )

  WinForm&DataGridView事件

  #region DragEnter(Form&DataGridView)

  /// <summary>

  /// DragEnter

  /// </summary>

  /// <param name= sender ></param>

  /// <param name= e ></param>

  private void frmMain_DragEnter(object sender DragEventArgs e)

  {

  //以下の文がなければ 「frmMain_DragDrop」も役に立たなくなる

  e Effect = DragDropEffects Link;

  }

  #endregion

  #region DragDrop(Form&DataGridView)

  /// <summary>

  /// DragDrop

  /// </summary>

  /// <param name= sender ></param>

  /// <param name= e ></param>

  private void frmMain_DragDrop(object sender DragEventArgs e)

  {

  DataDisplay(e);

  this Activate();

  }

lishixinzhi/Article/program/net/201311/11510  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码