我正在使用带有C#的.Net 3.5 Sp1编写的WPF编写的Windows客户端,其中要求客户端收到的电子邮件中的数据可以存储在数据库中.现在,处理此问题的最简单方法是使用诱导关节炎的量ctrl-c/ctrl-v复制并粘贴手动接收的文本,主题,联系信息和时间.
我认为处理这种情况的一种简单方法是允许用户将一个或多个电子邮件从Outlook(它们都使用当前的Outlook 2007)拖到窗口中,允许我的应用程序提取必要的信息并将其发送到后端存储系统.
然而,几个小时的谷歌搜索信息似乎表明这个看似基本的任务令人震惊的缺乏信息.我认为这样的东西在许多不同的设置中会有用,但到目前为止我能找到的所有东西都是半生不熟的非解决方案.
有没有人对如何做到这一点有任何建议?因为我只是要阅读邮件而不是发送任何内容或做任何有害的事情,所以对于一个不涉及讨厌的安全弹出窗口的解决方案来说会很好,但是任何事情都无法完成.
基本上,如果我可以获得所有选中的邮件列表,从Outlook中拖放,我将能够自己处理其余的邮件!
谢谢!
符文
我知道在这个问题上有很多答案,但我仍然无法让它工作.我已经在应用程序的每个级别的每个控件上启用了AllowDrop,并尝试捕获每个控件上的DragEnter和Drop无效.我可以在应用程序中拖放项目,但是每当我尝试从Windows资源管理器或桌面等中提取内容时,它都会给我"无"图标.我有什么想法可能做错了吗?
这是我正在做的一个例子.仍然没有显示移动光标,也不会点击MainWindow_DragEnter函数.
namespace WpfApplication1
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.AllowDrop = true;
this.DragEnter += new DragEventHandler(MainWindow_DragEnter);
}
void MainWindow_DragEnter(object sender, DragEventArgs e)
{
e.Effects = DragDropEffects.Move;
}
}
}
Run Code Online (Sandbox Code Playgroud)