שימוש ב‑Aspose Outlook Control לגרירה והשלכה של הודעות Outlook אל טפסי Windows Forms

Contents
[ ]

Aspose.Email תומכת בתכונת גרירה ושחרור של Microsoft Outlook. היא מאפשרת למפתחים ליצור בקלות רכיבי UI שמגיבים לאירועי גרור‑שחרור של Outlook. הדוגמה הבאה מציגה כיצד ליצור פאנל שבו משתמשים יכולים לגרור הודעה מ‑Outlook ולשחרר אותה, ותוכנית לשמירת ההודעות בקבצי MSG. קטע הקוד הבא מראה כיצד להגדיר בקרה של Aspose Outlook שיכולה לקבל הודעות Outlook שנגררו.

  • צור יישום Windows Form.
  • הוסף הפנייה ל‑assembly של Aspose.Email.
  • דפדף ל‑Aspose.Email.dll ולחץ OK.

רכיב ה‑UI שנוצר בדוגמה זו הוא פאנל. ליצירת פאנל:

  • לחץ לחיצה ימנית על הפרויקט שלך בפאנל הפתרון ובחר Add ולאחר מכן New item מהתפריט.
  • צור מחלקה בשם MyPanel:
  • הפוך את MyPanel לתת‑מחלקה של System.Windows.Forms.Panel, והוסף שדה Aspose.Email.Windows.Forms.FileDropTargetManager ל‑MyPanel.
  • הרחיב את השיטות OnHandleCreated ו‑OnHandleDestroyed כדי לרשום ולבטל רישום של MyPanel באמצעות 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);
    }
}
  • בנה את הפרויקט.

MyPanel מוכן לשימוש. פאנל זה מקבל אירועי גרירה והשלכה מ‑Outlook.

  • פתח את לוח הכלים שלך וגרור את MyPanel אל טופס ה‑Windows שלך:
todo:image_alt_text
  • הוסף מטפל אירוע ל‑DragDrop של MyPanel. (אל תשכחו להגדיר את המאפיין AllowDrop ל‑true מלוח המאפיינים ולשנות את צבע הרקע של MyPanel לצבע המועדף עליכם.)
todo:image_alt_text
  • הוסף את השורה הבאה במתודה InitializeComponent() של הטופס הראשי:
this.myPanel1.AllowDrop = true;
  • ממש את מנהל אירוע DragDrop כדי לשמור את ההודעות שנגררו מ‑Outlook לקבצי MSG.
  • המר (cast) את DragEventArgs ל‑Aspose.Email.Windows.Forms.FileDragEventArgs המכיל מאפיין מערך Files שמייצג את יעד הגרירה של המשתמש.

אם משתמש גורר מספר הודעות מ‑Outlook ומשחרר אותן על MyPanel, Files.Count הוא מספר ההודעות, ו‑Files[i] מספק כל הודעה בנפרד.

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());
                }
            }
        }
    }
}
  • הפעל את הפרויקט ובדוק אותו.

כעת ניתן לגרור הודעות מ‑Outlook ולשחרר אותן על היישום שלך. היישום יזמין אותך לשמור את ההודעות בקבצי MSG.