Använda Aspose Outlook Control för att dra och släppa Outlook-meddelanden till Windows Forms
Aspose.Email stödjer drag‑och‑släpp‑funktionen i Microsoft Outlook. Det gör det enkelt för utvecklare att skapa UI‑element som svarar på Outlook drag‑drop‑händelser. Följande exempel visar hur man skapar en panel som användare kan dra ett meddelande från Outlook till och släppa, samt programmet för att spara meddelanden till MSG‑filer. Följande kodsnutt visar hur du konfigurerar en Aspose Outlook‑kontroll som kan ta emot släppta Microsoft Outlook‑meddelanden.
- Skapa en Windows Forms‑applikation.
- Lägg till en referens till Aspose.Email‑assemblyn.
- Navigera till Aspose.Email.dll och klicka på OK.
UI-elementet som skapats i detta exempel är en panel. Så här skapar du en panel:
- Högerklicka på ditt projekt i lösningspanelen och välj Add och sedan New item i menyn.
- Skapa en klass som heter MyPanel:
- Låt MyPanel vara en subklass av System.Windows.Forms.Panel, och lägg till ett Aspose.Email.Windows.Forms.FileDropTargetManager‑fält till MyPanel.
- Åsidosätt metoderna OnHandleCreated och OnHandleDestroyed för att registrera och avregistrera MyPanel med 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);
}
}
- Bygg projektet.
MyPanel är klar att användas. Denna panel accepterar drag‑och‑släpp‑händelser från Outlook.
- Öppna verktygslådan och dra MyPanel till ditt Windows Forms‑formulär:
![]() |
|---|
- Lägg till en händelsehanterare för MyPanels DragDrop‑händelse. (Glöm inte att sätta AllowDrop‑egenskapen till true i egenskapspanelen och ändra MyPanels BackColor‑egenskap till din favorit.)
![]() |
|---|
- Lägg till följande rad i InitializeComponent()-metoden i huvudformuläret:
this.myPanel1.AllowDrop = true;
- Implementera DragDrop‑händelsehanteraren för att spara meddelandena som dras från Outlook till MSG‑filer.
- Kasta DragEventArgs till Aspose.Email.Windows.Forms.FileDragEventArgs som innehåller en array‑egenskap Files som representerar användarens dragmål.
Om en användare drar flera meddelanden från Outlook och släpper dem på MyPanel, är Files.Count antalet meddelanden, och Files[i] ger varje enskilt meddelande.
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());
}
}
}
}
}
- Kör projektet och testa det.
Nu kan du dra meddelanden från Outlook och släppa dem på din applikation. Applikationen frågar om du vill spara dessa meddelanden till MSG-filer.

