Drag and Drop funktioniert nicht



  • Ich habe folgendes Problem:
    In einer Klasse (data) existiert die Methode AddTab. Diese Methode erstellt unter anderem auch eine ListView.
    Bei dieser ListView will aber das Drag&Drop nicht funktionieren.

    public static class data
        {
            //[...]
            //Wird in der Hauptform zugewiesen
            public static TabControl taCo;
    
            public static void AddTab(string key, string name)
            {
                //[...]
                ListView fileView = new ListView();
                fileView.Name = "fileView";
                fileView.View = View.Details;
                fileView.Columns.Add("fileName", "Name", 117);
                fileView.Columns.Add("fileSize", "Größe", 75);
                fileView.Columns.Add("filePath", "Pfad", 160);
                fileView.Columns.Add("lastChange", "Letzte Änderung", 128);
                fileView.AllowDrop = true;
                fileView.HeaderStyle = ColumnHeaderStyle.Nonclickable;
                fileView.MultiSelect = false;
                fileView.LabelEdit = true;
                fileView.MouseClick += new MouseEventHandler(fileView_MouseClick);
                fileView.AfterLabelEdit += new LabelEditEventHandler(fileView_AfterLabelEdit);
                fileView.DragEnter += new DragEventHandler(fileView_DragEnter);
                fileView.DragDrop += new DragEventHandler(fileView_DragDrop);
                fileView.Size = new System.Drawing.Size(501, 330);
                fileView.Location = new System.Drawing.Point(0, 0);
                //[...]
                //page ist hier eine TabPage, wurde oben abgeschnitten
                page.Controls.Add(fileView);
            }
            public static void fileView_DragEnter(object sender, DragEventArgs e)
            {
                e.Effect = DragDropEffects.Copy;
            }
            public static void fileView_DragDrop(object sender, DragEventArgs e)
            {
                string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
                foreach (String file0 in files)
                {
                    //Weitere Verarbeitung
                }
            }
        }
    

    Weiß eventuell jemand wo das Problem liegt?

    Danke im Voraus!



  • Hast du "AllowDrop" in den Properties auf "true" gesetzt?



  • AllowDrop wird auf true gesetzt.

    Das sind auch die einzigen Eventhandler die Probleme machen,
    also kann es auch nicht an der öffentlichen Klasse oder sonstigem liegen.

    Es scheint auch so, als würde das DragEnter-Event gar nicht ausgelöst werden. Die Frage ist: Warum?



  • Das Thema ist inzwischen geklärt.

    Drag&Drop wird nicht zugelassen, wenn das Programm mit Admin-Rechten gestartet
    wird.



  • stimmt... dann gehen die sachen bei mir auch nicht mehr?!?

    warum ist das so???....

    da sollte es doch erst recht gehen 😮

    :::

    ^Ok, deswegen:^

    **Zitat:

    Zusätzlich isoliert die Benutzerkontensteuerung aber auch Prozesse die über volle Admin-Rechte verfügen von Standard-Prozessen. So können etwa keine Daten per Drag & Drop zwischen zwei unterschiedlich berechtigten Fenstern ausgetauscht werden.**[i]


Anmelden zum Antworten