Aspose Outlook Control gebruiken om Outlook‑berichten te slepen en neer te zetten in Windows Forms
Aspose.Email ondersteunt de sleep‑en‑drop‑functie van Microsoft Outlook. Het stelt ontwikkelaars in staat om eenvoudig UI‑elementen te maken die reageren op Outlook sleep‑en‑drop‑events. Het volgende voorbeeld toont hoe een paneel gemaakt wordt waarop gebruikers een bericht uit Outlook kunnen slepen en laten vallen, en hoe het programma berichten opslaat als MSG‑bestanden. Het volgende code‑fragment laat zien hoe u een Aspose Outlook‑control instelt dat Microsoft Outlook‑berichten kan ontvangen.
- Maak een Windows Forms‑toepassing.
- Voeg een referentie toe naar de Aspose.Email‑assembly.
- Blader naar de Aspose.Email.dll en klik op OK.
Het UI‑element dat in dit voorbeeld wordt gemaakt, is een paneel. Om een paneel te maken:
- Klik met de rechtermuisknop op uw project in het oplossingspaneel en kies Add en vervolgens New item in het menu.
- Maak een klasse genaamd MyPanel aan:
- Laat MyPanel een subklasse van System.Windows.Forms.Panel zijn, en voeg een Aspose.Email.Windows.Forms.FileDropTargetManager‑veld toe aan MyPanel.
- Override de OnHandleCreated‑ en OnHandleDestroyed‑methoden om MyPanel te registreren en deregistreren via 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);
}
}
- Bouw het project.
MyPanel is klaar voor gebruik. Dit paneel accepteert sleep‑en‑zet‑gebeurtenissen van Outlook.
- Open uw toolbox‑paneel en sleep MyPanel naar uw Windows‑form:
![]() |
|---|
- Voeg een event‑handler toe aan MyPanel’s DragDrop‑event. (Vergeet niet de AllowDrop‑eigenschap op true te zetten via het eigenschappen‑paneel en de BackColor‑eigenschap van MyPanel naar uw favoriet te wijzigen.)
![]() |
|---|
- Voeg de volgende regel toe in de InitializeComponent()‑methode van het hoofdformulier:
this.myPanel1.AllowDrop = true;
- Implementeer de DragDrop‑eventhandler om de vanuit Outlook gesleepte berichten op te slaan in MSG‑bestanden.
- Cast DragEventArgs naar Aspose.Email.Windows.Forms.FileDragEventArgs, die een array‑eigenschap Files bevat die staat voor het sleep‑doel van de gebruiker.
Als een gebruiker meerdere berichten uit Outlook sleept en op MyPanel laat vallen, is Files.Count het aantal berichten, en geeft Files[i] elk individueel bericht.
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());
}
}
}
}
}
- Voer het project uit en test het.
Nu kunt u berichten uit Outlook slepen en ze op uw applicatie laten vallen. De applicatie vraagt u deze berichten op te slaan als MSG‑bestanden.

