0

私はこのことをあちこち探しましたが、まだ運がありません。Outlook アイテム (予定アイテム、タスク) に対していくつかの操作を実行するアドイン (Outlook 用) があります。ファイルをアイテムの本体にドラッグすると、イベントがオーバーライドされ、アイテムの本体に表示されます。そのアイテムを添付したいだけです(そして、選択したディレクトリに保存します)。イベントをリンクするにはどうすればよいですか?? しかし、私は1つのイベントを見つけました。

ただし、この例では常にフォームがあります。アドインなので、特定のフォームはありません:(

private void Body_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
    {
        // Ensure that the list item index is contained in the data. 
        if (e.Data.GetDataPresent(typeof(System.String)))
        {

            Object item = (object)e.Data.GetData(typeof(System.String));

            // Perform drag-and-drop, depending upon the effect. 
            if (e.Effect == DragDropEffects.Copy ||
                e.Effect == DragDropEffects.Move)
            {

                // Insert the item. 
                System.Windows.Forms.MessageBox.Show("there");

            }
        }
    }

残りの詳細は見つかりましたが、オーバーライドするイベントが見つかりません。

助けてください。前もって感謝します。

情報:私はすでにこれらのリンクを通過しました:123

編集:

予定を追加する私のコードは次のとおりです。

public bool getAppointments(IList<IAppointmentData> list)
        {
            Microsoft.Office.Interop.Outlook.Application outlookApp = new Microsoft.Office.Interop.Outlook.Application();
            Microsoft.Office.Interop.Outlook.Explorer expl =  outlookApp.ActiveExplorer();

            try
            {
                if (list.Count != 0)
                {
                    deleteExisting();
                    foreach (IAppointmentData appointmentData in list)
                    {
                        Microsoft.Office.Interop.Outlook._AppointmentItem appt = (Microsoft.Office.Interop.Outlook.AppointmentItem)
                            outlookApp.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olAppointmentItem);
                        appt = setMeetingDetails(appt, appointmentData);

                        appt.Recipients.ResolveAll();
                        appt.Save();
                    }
                }

            }
            catch (System.Exception e)
            {
                System.Windows.Forms.MessageBox.Show(e.ToString());
                return false;
            }

            return true;
        }

誰かがファイルを本文にドロップしたときに、上記のイベントを予定項目の本文に添付するメカニズムが必要です。どうすればいいのですか?

4

1 に答える 1

0

これを行うための公式にサポートされている API はありません。Windows API レベルにドロップダウンすることしか考えられません。エディター コントロールのウィンドウ ハンドルを見つけてから、RegisterDragDrop() を使用して独自のドラッグ アンド ドロップ ハンドラーをインストールできます。C# でそれができるかどうかはわかりません... C++ または Delphi で確実に実行できます。

于 2013-10-30T17:08:10.483 に答える