拖放内容

时间:2017-09-07 07:27:50

标签: c# datagridview outlook drag-and-drop

我想将一些东西拖放到WinForms中的DataGrid中。他识别出Drag Enter和Drag Drop的功能。它的作用就像一个魅力,因为我在文字进入和掉落时弹出文字。

可悲的是,我不知道如何访问我放在那里的东西(Outlook Contact)的内容。我的目标是删除和Outlook联系人进入数据网格,我希望包含在联系方式,名称,电子邮件地址等中,并暂时保存,以便我可以将其插入网格。

我希望你们中的一些人可以帮助我和/或给我一些解决方法。

提前致谢。

1 个答案:

答案 0 :(得分:1)

首先,您需要引用Microsoft.Office.Interop.Outlook。有一个NuGet包。

Install-Package Microsoft.Office.Interop.Outlook

Outlook.Application创建一个实例,并在DragDrop处理程序中获取所选项目。

private Microsoft.Office.Interop.Outlook.Application moOutlook = new Microsoft.Office.Interop.Outlook.Application();
private void DragDropHandler(object sender, DragEventArgs e)
{
    var loExplorer = moOutlook.ActiveExplorer();
    var loSelection = loExplorer.Selection;

    foreach (object loItem in loSelection)
    {
        Microsoft.Office.Interop.Outlook.ContactItem loContactItem = (loItem as Microsoft.Office.Interop.Outlook.ContactItem);
        if (loContactItem != null)
        {
            Console.WriteLine(loContactItem.EntryID);
            Console.WriteLine(loContactItem.Email1Address);
            Console.WriteLine(loContactItem.Email2Address);
        }
    }
}