Laden...

Outlook-Items werden mehrfach geliefert

Erstellt von vieledinge vor 10 Jahren Letzter Beitrag vor 10 Jahren 1.187 Views
vieledinge Themenstarter:in
28 Beiträge seit 2012
vor 10 Jahren
Outlook-Items werden mehrfach geliefert

Hallo,

ich hole via Drag&Drop und folgendem Code Contact-Items aus Outlook.

Grundlegend klappt das auch, allerdings werden bei mehrfachem Drag&Drop die Objekte quasi additiv geliefert, auch wenn ich jeweils nur ein Objekt ziehe.

  1. D&D: Selection.Count=1, 1. Objekt
  2. D&D: Selection.Count=2, 1. + 2. Objekt
  3. D&D: Selection.Count=3, 1. + 2. + 3.Objekt

Sobald ich mein Programm beende und neu starte geht alles wieder von vorne los.

Muss ich das Drop-Event noch irgendwie quittieren oder die Selection zurücksetzen?


        private void grpOutlookKontakte_DragDrop(object sender, DragEventArgs e)
        {
            Microsoft.Office.Interop.Outlook.Application olApp = new Microsoft.Office.Interop.Outlook.Application();

            MessageBox.Show(Convert.ToString(olApp.ActiveExplorer().Selection.Count));

            for (int i = 1; i <= olApp.ActiveExplorer().Selection.Count; i++)
            {
                Object olObject = olApp.ActiveExplorer().Selection[i];

                if (olObject is Microsoft.Office.Interop.Outlook.ContactItem)
                {
                    this.olCItem = (olObject as Microsoft.Office.Interop.Outlook.ContactItem);

                    ContactItem oContactItem = new ContactItem(this.olCItem);

                    FillContactForm_OutlookContact(oContactItem);
                }
                else
                {
                    MessageBox.Show("Unzulässiger Objekttyp!", "Outlook-Objektprüfung", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
        }

R
212 Beiträge seit 2012
vor 10 Jahren

An welcher stelle greifst du den auf die DaD objekte zu??

Die müssten ja eig in "EventArgs e" enthalten sein und die elemente aus e können sich nicht kommulativ verhalten.

vieledinge Themenstarter:in
28 Beiträge seit 2012
vor 10 Jahren

An welcher stelle greifst du den auf die DaD objekte zu??

Stimmt.....

Den Code habe ich von hier:
Drag and Drop von Outlook to C# Applikation

Die müssten ja eig in "EventArgs e" enthalten sein und die elemente aus e können sich nicht kommulativ verhalten.

Ich müsste also e.Data casten?

R
212 Beiträge seit 2012
vor 10 Jahren

Ich denke schon, hier ein sehr einfaches beispiel das die grundfunktionalität von DaD zeigt:
Simple drag and drop example

vieledinge Themenstarter:in
28 Beiträge seit 2012
vor 10 Jahren

Fürs Archiv: Scheint ein Bug im Outlook-COM-Wrapper zu sein:

http://social.msdn.microsoft.com/Forums/vstudio/en-us/d85e5e73-cbc1-4d83-93c5-9e86e1d86baa/outlook-2010-addin-selection-not-clearing

Der dort am Ende genannte Workaround (e.Data.GetData("RenPrivateMessages") in DragEnter) hat das Problem behoben.