Aspose Outlook कंट्रोल का उपयोग करके Outlook संदेशों को Windows Forms में ड्रैग और ड्रॉप करना

Contents
[ ]

Aspose.Email Microsoft Outlook के ड्रैग और ड्रॉप फीचर का समर्थन करता है। यह डेवलपर्स को आसानी से UI एलिमेंट्स बनाने में सक्षम बनाता है जो Outlook ड्रैग-ड्रॉप इवेंट्स पर प्रतिक्रिया देते हैं। निम्नलिखित नमूना दिखाता है कि कैसे एक पैनल बनाएं जिस पर उपयोगकर्ता Outlook से संदेश को ड्रैग कर ड्रॉप कर सके, और प्रोग्राम संदेशों को MSG फ़ाइलों में सहेज सके। निम्नलिखित कोड स्निपेट दिखाता है कि कैसे एक Aspose Outlook कंट्रोल सेटअप करें जो ड्रॉप किए गए Microsoft Outlook संदेशों को प्राप्त कर सके।

  • एक Windows Form एप्लिकेशन बनाएं।
  • Aspose.Email असेंबली का रेफ़रेंस जोड़ें।
  • Aspose.Email.dll पर जाएँ और OK क्लिक करें।

इस नमूना में बनाया गया UI तत्व एक पैनल है। पैनल बनाने के लिए:

  • समाधान पैनल में अपने प्रोजेक्ट पर राइट-क्लिक करें और मेनू से Add फिर New item चुनें।
  • MyPanel नामक एक क्लास बनाएं:
  • MyPanel को System.Windows.Forms.Panel की सबक्लास बनाएं, और MyPanel में एक Aspose.Email.Windows.Forms.FileDropTargetManager फ़ील्ड जोड़ें।
  • 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 Form पर ड्रैग करें:
todo:image_alt_text
  • MyPanel के DragDrop इवेंट में एक इवेंट हैंडलर जोड़ें। (प्रॉपर्टीज़ पैनल से AllowDrop प्रॉपर्टी को true सेट करना न भूलें और MyPanel की BackColor प्रॉपर्टी को अपनी पसंदीदा रंग में बदलें।)
todo:image_alt_text
  • मुख्य फ़ॉर्म की InitializeComponent() विधि में निम्न पंक्ति जोड़ें:
this.myPanel1.AllowDrop = true;
  • DragDrop इवेंट हैंडलर लागू करें ताकि Outlook से ड्रैग किए गए संदेशों को MSG फ़ाइलों में सहेजा जा सके।
  • 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 फ़ाइलों में सहेजने के लिए पूछेगा।