熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

WinForm的鼠標拖拽功能

2013-11-13 09:45:25  來源: .NET編程 

  WinForm的鼠標拖拽功能

  功能 此代碼實現的是從資源管理器窗口選中一個或多個文件拖入WinForm窗體中WinForm後台代碼變會得到被拖入的文件列表

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

  畫面設計

  窗體的AllowDrop屬性必須設置成true

  且必須有DragEnter事件(單獨寫DragDrop事件是不會具有拖拽功能的)

  畫面的Designer Code(frmMainDesignercs)

  //

  // frmMain

  //

  thisAllowDrop = true;

  thisDragDrop += new SystemWindowsFormsDragEventHandler(thisfrmMain_DragDrop);

  thisDragEnter += new SystemWindowsFormsDragEventHandler(thisfrmMain_DragEnter);

  //

  // dgv

  //

  thisdgvAllowDrop = true;

  thisdgvDragEnter += new SystemWindowsFormsDragEventHandler(thisfrmMain_DragEnter);

  thisdgvDragDrop += new SystemWindowsFormsDragEventHandler(thisfrmMain_DragDrop);

  Form的後台代碼

  重要代碼 eEffect = DragDropEffectsLink;

  (注 DragDropEffects枚舉類型還有其他值有興趣的可以參照MSDN的幫助

  us/library/systemwindowsformsdragdropeffectsaspx )

  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」も役に立たなくなる

  eEffect = DragDropEffectsLink;

  }

  #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);

  thisActivate();

  }

  #endregion


From:http://tw.wingwit.com/Article/program/net/201311/11510.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.