Aspose Outlook Kontrolü Kullanarak Outlook Mesajlarını Windows Form'lara Sürükle ve Bırak

Contents
[ ]

Aspose.Email, Microsoft Outlook’un sürükle ve bırak özelliğini destekler. Geliştiricilerin Outlook sürükle-bırak olaylarına yanıt veren UI öğeleri kolayca oluşturmalarını sağlar. Aşağıdaki örnek, kullanıcıların Outlook’tan bir mesajı sürükleyip bırakabileceği bir panel oluşturmayı ve programın mesajları MSG dosyalarına kaydetmesini gösterir. Aşağıdaki kod parçacığı, Microsoft Outlook mesajlarını alabilen bir Aspose Outlook kontrolünün nasıl ayarlanacağını gösterir.

  • Bir Windows Form uygulaması oluşturun.
  • Aspose.Email derlemesine bir referans ekleyin.
  • Aspose.Email.dll’ye göz atın ve OK‘a tıklayın.

Bu örnekte oluşturulan UI öğesi bir paneldir. Panel oluşturmak için:

  • Çözüm panelinde projenize sağ tıklayın ve menüden Add ardından New item seçeneğini seçin.
  • MyPanel adında bir sınıf oluşturun:
  • MyPanel, System.Windows.Forms.Panel sınıfının bir alt sınıfı olsun ve MyPanel’e bir Aspose.Email.Windows.Forms.FileDropTargetManager alanı ekleyin.
  • OnHandleCreated ve OnHandleDestroyed metodlarını geçersiz kılarak MyPanel’i Aspose.Email.Windows.Forms.FileDropTargetManager ile kaydedin ve kaydını silin:
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);
    }
}
  • Projeyi derleyin.

MyPanel kullanıma hazır. Bu panel Outlook’tan sürükle ve bırak olaylarını kabul eder.

  • Toolbox panelinizi açın ve MyPanel’i Windows formunuzun üzerine sürükleyin:
todo:image_alt_text
  • MyPanel’in DragDrop olayına bir olay işleyici ekleyin. (Özellikler panelinden AllowDrop özelliğini true olarak ayarlamayı ve MyPanel’in BackColor özelliğini sevdiğiniz bir renge değiştirmeyi unutmayın.)
todo:image_alt_text
  • Ana Formun InitializeComponent() metoduna aşağıdaki satırı ekleyin:
this.myPanel1.AllowDrop = true;
  • Outlook’tan sürüklenen mesajları MSG dosyalarına kaydetmek için DragDrop olay işleyicisini uygulayın.
  • DragEventArgs’i, kullanıcının sürükleme hedefini temsil eden bir Files dizisi özelliği içeren Aspose.Email.Windows.Forms.FileDragEventArgs tipine dönüştürün.

Kullanıcı Outlook’tan birkaç mesajı MyPanel’e sürükleyip bıraktığında, Files.Count mesaj sayısını, Files[i] ise her bir mesajı verir.

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());
                }
            }
        }
    }
}
  • Projeyi çalıştırın ve test edin.

Şimdi Outlook’tan mesajları sürükleyip uygulamanıza bırakabilirsiniz. Uygulama, bu mesajları MSG dosyalarına kaydetmenizi isteyecek.