我搜遍了这件事,但还没有运气。 我有一个加载项(用于outlook),它对Outlook项目(约会项目,任务)执行多项操作。 我只想在将文件拖到项目主体上时覆盖该事件,并将其显示在项目的主体上。我只想要附加该项目(并将其存储在我选择的目录中)。 我如何链接事件? 我发现了一件事。
但在示例中,始终有一个表单。我没有特定的表单,因为它是一个加载项:(
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");
}
}
}
我找到了其余的细节,但我无法找到要覆盖的事件。
请帮忙。 提前谢谢。
编辑:
我添加约会的代码是:
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;
}
当有人将文件放入正文时,我需要一些机制将上面列出的事件附加到约会项目正文。 我该怎么做?
答案 0 :(得分:0)
没有官方支持的API可以做到这一点。我只能想到下降到Windows API级别:您可以找到编辑器控件的窗口句柄,然后使用RegisterDragDrop()安装自己的拖放处理程序。不确定你是否可以在C#中做到这一点......它绝对可以在C ++或Delphi中使用。