Použití Aspose Outlook Control pro přetahování zpráv z Outlooku do Windows Forms
Aspose.Email podporuje funkci drag and drop v Microsoft Outlook. Umožňuje vývojářům snadno vytvářet UI prvky reagující na události přetahování v Outlooku. Následující vzor ukazuje, jak vytvořit panel, na který uživatelé mohou přetáhnout zprávu z Outlooku a upustit ji, a program pro uložení zpráv do souborů MSG. Následující ukázka kódu ukazuje, jak nastavit kontrolu Aspose Outlook, která může přijímat upuštěné zprávy Microsoft Outlook.
- Vytvořte aplikaci Windows Forms.
- Přidejte referenci na sestavení Aspose.Email.
- Procházejte k souboru Aspose.Email.dll a klikněte na OK.
UI prvek vytvořený v tomto příkladu je panel. Pro vytvoření panelu:
- Klikněte pravým tlačítkem na projekt v panelu řešení a zvolte Add a poté New item z nabídky.
- Vytvořte třídu s názvem MyPanel:
- Nechte MyPanel být podtřídou System.Windows.Forms.Panel a přidejte pole Aspose.Email.Windows.Forms.FileDropTargetManager do MyPanel.
- Přepište metody OnHandleCreated a OnHandleDestroyed pro registraci a odregistraci MyPanel pomocí Aspose.Email.Windows.Forms.FileDropTargetManager:
class MyPanel : System.Windows.Forms.Panel
{
private Aspose.Email.Windows.Forms.FileDropTargetManager manager;
// Hook up
protected override void OnHandleCreated(EventArgs e)
{
this.manager = new Aspose.Email.Windows.Forms.FileDropTargetManager(this);
this.manager.EnsureRegistered(this);
base.OnHandleCreated(e);
}
// Unhook
protected override void OnHandleDestroyed(EventArgs e)
{
this.manager.EnsureUnRegistered(this);
base.OnHandleDestroyed(e);
}
}
- Sestavte projekt.
MyPanel je připraven k použití. Tento panel přijímá události přetáhnutí a upuštění z Outlooku.
- Otevřete panel nástrojů a přetáhněte MyPanel na svůj Windows Form:
![]() |
|---|
- Přidejte obslužnou rutinu události DragDrop na MyPanel. (Nezapomeňte nastavit vlastnost AllowDrop na true v panelu vlastností a změnit barvu pozadí MyPanel na svou oblíbenou.)
![]() |
|---|
- Přidejte následující řádek do metody InitializeComponent() hlavního formuláře:
this.myPanel1.AllowDrop = true;
- Implementujte obslužnou metodu DragDrop pro uložení přetáhnutých zpráv z Outlooku do MSG souborů.
- Přetypujte DragEventArgs na Aspose.Email.Windows.Forms.FileDragEventArgs, který obsahuje pole Files představující cíl přetažení uživatele.
Pokud uživatel přetáhne několik zpráv z Outlooku a upustí je na MyPanel, Files.Count je počet zpráv a Files[i] poskytuje každou jednotlivou zprávu.
private void myPanel1_DragDrop(object sender, DragEventArgs e)
{
Aspose.Email.Windows.Forms.FileDragEventArgs args;
args = (Aspose.Email.Windows.Forms.FileDragEventArgs)e;
if (args != null && args.Files.Count > 0)
{
for (int i = 0; i < args.Files.Count; i++)
{
SaveFileDialog dialog = new SaveFileDialog();
dialog.FileName = args.Files[i].FileName;
if (dialog.ShowDialog() == DialogResult.OK)
{
try
{
System.IO.FileStream output;
output = new System.IO.FileStream(dialog.FileName, System.IO.FileMode.CreateNew);
args.Files[i].Save(output);
MessageBox.Show("Save success:" + dialog.FileName);
}
catch (Exception ex)
{
MessageBox.Show("Save failed:" + ex.ToString());
}
}
}
}
}
- Spusťte projekt a otestujte jej.
Nyní můžete přetahovat zprávy z Outlooku a upustit je do své aplikace. Aplikace vás vyzve k uložení těchto zpráv do souborů MSG.

