2017-03-21 18 views
0

ドラッグアンドドロップでローカルのファイルをデスクに保存したいときに電子メールメッセージを操作するOutlookアドインを書きたくない。WinFormアプリケーションからドラッグされたファイルを操作する

現時点では、ウィンドウのMouseDownイベントを取得できません。私が見ることができる特定のWindowsメッセージがありますか?

現在、ドラッグイベントにあるデータを操作する方法はありますか?

多くのご協力ありがとうございます!

私はすでにこのため

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Xml.Linq; 
using Outlook = Microsoft.Office.Interop.Outlook; 
using Office = Microsoft.Office.Core; 
using System.Windows.Forms; 

namespace OutlookAddIn1 
{ 
    public partial class ThisAddIn 
    { 

     Outlook.Explorer explorer; 

     private void ThisAddIn_Startup(object sender, System.EventArgs e) 
     { 

      explorer = Application.ActiveExplorer(); 

      explorer.BeforeItemCopy += new Outlook.ExplorerEvents_10_BeforeItemCopyEventHandler(Explorer_BeforeItemCopy); 

     } 

     private void OnDragEnter(object sender, System.Windows.Forms.DragEventArgs e) 
     { 
      MessageBox.Show("OnDragEnter"); 
     } 

     void Explorer_BeforeItemCopy(ref bool cancel) 
     { 
      MessageBox.Show("copied"); 
     } 
    } 
} 
+0

あなたは 'DragLeave'を使用することができますイベント –

答えて

0

Windowsのメッセージを使用する必要はありません、またMouseDownイベントを試みました。単に間違ったイベントを使用しています。あなたが処理するために必要なのです。

  • のDragEnter
  • DragOver DragOverは
  • のDragDrop
  • DragLeave

このサンプルを参照してください:

https://www.codeproject.com/articles/9017/a-simple-drag-and-drop-how-to-example

+0

申し訳ありませんが、私の追加の背後にはフォームがありません。 Outlookのメールリスト(Application.ActiveExplorer();)のドラッグ動作を処理するOutlookアドインです。 – AppVault

+0

@AppVaultコードビハインドファイルは必要ありません。必要に応じてコンストラクタを追加し、イベントに適切に対応するだけでイベントハンドラを追加してください。 – Oscar

+0

このような? explorer.BeforeItemCopy + =新しいOutlook.ExplorerEvents_10_BeforeItemCopyEventHandler(Explorer_BeforeItemCopy); – AppVault

関連する問題