Użycie kontrolki Aspose Outlook do przeciągania i upuszczania wiadomości Outlook w aplikacjach Windows Forms
Aspose.Email obsługuje funkcję przeciągania i upuszczania w Microsoft Outlook. Umożliwia programistom łatwe tworzenie elementów UI, które reagują na zdarzenia przeciągania i upuszczania w Outlooku. Poniższy przykład pokazuje, jak stworzyć panel, na którym użytkownicy mogą przeciągnąć wiadomość z Outlooka i upuścić ją, a program zapisze wiadomości jako pliki MSG. Poniższy fragment kodu pokazuje, jak skonfigurować kontrolkę Aspose Outlook, która może odbierać upuszczone wiadomości z Microsoft Outlook.
- Utwórz aplikację Windows Forms.
- Dodaj odwołanie do zestawu Aspose.Email.
- Przejdź do Aspose.Email.dll i kliknij OK.
Element UI utworzony w tym przykładzie to panel. Aby stworzyć panel:
- Kliknij prawym przyciskiem myszy projekt w panelu rozwiązań i wybierz Add, a następnie New item z menu.
- Utwórz klasę o nazwie MyPanel:
- Uczyń MyPanel podklasą System.Windows.Forms.Panel i dodaj pole Aspose.Email.Windows.Forms.FileDropTargetManager do MyPanel.
- Zastąp metody OnHandleCreated i OnHandleDestroyed, aby zarejestrować i wyrejestrować MyPanel przy użyciu 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);
}
}
- Zbuduj projekt.
MyPanel jest gotowy do użycia. Ten panel akceptuje zdarzenia przeciągnij i upuść z Outlooka.
- Otwórz panel Toolbox i przeciągnij MyPanel na formularz Windows:
![]() |
|---|
- Dodaj obsługę zdarzenia DragDrop do MyPanel. (Nie zapomnij ustawić właściwości AllowDrop na true w panelu właściwości i zmienić właściwość BackColor MyPanel na ulubiony kolor.)
![]() |
|---|
- Dodaj następującą linię w metodzie InitializeComponent() głównego formularza:
this.myPanel1.AllowDrop = true;
- Zaimplementuj obsługę zdarzenia DragDrop, aby zapisywać wiadomości przeciągnięte z Outlooka jako pliki MSG.
- Rzutuj DragEventArgs na Aspose.Email.Windows.Forms.FileDragEventArgs, które zawiera właściwość Files będącą tablicą reprezentującą cel przeciągania użytkownika.
Jeśli użytkownik przeciągnie kilka wiadomości z Outlooka i upuści je na MyPanel, Files.Count jest liczbą wiadomości, a Files[i] zwraca każdą poszczególną wiadomość.
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());
}
}
}
}
}
- Uruchom projekt i przetestuj go.
Teraz możesz przeciągać wiadomości z Outlooka i upuszczać je w swojej aplikacji. Aplikacja poprosi Cię o zapisanie tych wiadomości jako pliki MSG.

