Použití Aspose Outlook Control pro přetahování zpráv z Outlooku do Windows Forms

Contents
[ ]

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:
todo:image_alt_text
  • 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.)
todo:image_alt_text
  • 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.