Menggunakan Kontrol Aspose Outlook untuk Seret dan Lepas Pesan Outlook ke Windows Forms
Aspose.Email mendukung fitur drag and drop Microsoft Outlook. Ini memungkinkan pengembang dengan mudah membuat elemen UI yang merespons peristiwa drag-drop Outlook. Contoh berikut menunjukkan cara membuat panel tempat pengguna dapat menyeret pesan dari Outlook dan menjatuhkannya, serta program untuk menyimpan pesan ke file MSG. Potongan kode berikut menunjukkan cara menyiapkan kontrol Aspose Outlook yang dapat menerima pesan Outlook yang dijatuhkan.
- Buat aplikasi Windows Form.
- Tambahkan referensi ke assembly Aspose.Email.
- Jelajahi ke Aspose.Email.dll dan klik OK.
Elemen UI yang dibuat dalam contoh ini adalah panel. Untuk membuat panel:
- Klik kanan proyek Anda di panel solusi dan pilih Add lalu New item dari menu.
- Buat kelas bernama MyPanel:
- Biarkan MyPanel menjadi subclass dari System.Windows.Forms.Panel, dan tambahkan bidang Aspose.Email.Windows.Forms.FileDropTargetManager ke MyPanel.
- Timpa metode OnHandleCreated dan OnHandleDestroyed untuk mendaftarkan dan membatalkan pendaftaran MyPanel menggunakan 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);
}
}
- Bangun proyek.
MyPanel siap digunakan. Panel ini menerima peristiwa seret dan lepas dari Outlook.
- Buka panel toolbox Anda dan seret MyPanel ke Windows Form Anda:
![]() |
|---|
- Tambahkan event handler ke event DragDrop MyPanel. (Jangan lupa mengatur properti AllowDrop menjadi true dari panel properti dan ubah properti BackColor MyPanel ke warna favorit Anda.)
![]() |
|---|
- Tambahkan baris berikut dalam metode InitializeComponent() pada Form utama:
this.myPanel1.AllowDrop = true;
- Implementasikan handler acara DragDrop untuk menyimpan pesan yang diseret dari Outlook ke file MSG.
- Cast DragEventArgs ke Aspose.Email.Windows.Forms.FileDragEventArgs yang berisi properti array Files yang mewakili target seret pengguna.
Jika pengguna menyeret beberapa pesan dari Outlook dan menjatuhkannya ke MyPanel, Files.Count adalah jumlah pesan, dan Files[i] memberikan setiap pesan individu.
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());
}
}
}
}
}
- Jalankan proyek dan uji.
Sekarang Anda dapat menyeret pesan dari Outlook dan menjatuhkannya ke aplikasi Anda. Aplikasi akan meminta Anda menyimpan pesan-pesan tersebut ke file MSG.

