Autor Beitrag
pimpl
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20



BeitragVerfasst: Sa 19.05.12 13:03 
Hallo alle!

ich habe eine Listview mit DragAndDrop allowed.
nun möchte ich aber nur bestimmte Dateiformate für das DragAndDrop zulassen, nämlich Bilder(.jpg, .bmp., .png, etc.)
leider weiß ich nicht, wie ich dies realisiere.
folgender code bringt nicht das gewünschte ergebnis:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
  private void listBox1_DragEnter(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(DataFormats.Bitmap))
                e.Effect = DragDropEffects.All;
            else
                e.Effect = DragDropEffects.None;
        }


Habt ihr eine Idee? Vielen Dank für die Hilfe

Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt
Moderiert von user profile iconChristian S.: Topic aus Basistechnologien verschoben am Sa 19.05.2012 um 13:48
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19321
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 19.05.12 13:36 
Hast du einmal versucht das im Event DragOver zu machen?
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Sa 19.05.12 14:58 
Hallo pimpl,

wenn du Drag&Drop aus dem Windows-Explorer abfragen willst (d.h. Dateien), dann mußt du dafür DataFormat.FileDrop benutzen.

Ein Beispiel dazu findest du unter Objekte in ListView ziehen (drag and drop).

Und dann entsprechend die Path.GetExtension-Methode benutzen, um die verschiedenen Dateiformate (vor) zu filtern. Jedoch mußt du beachten, daß evtl. eine Datei einfach unbenannt wurde, so daß du auch beim Einlesen ein falsches Dateiformat bedenken mußt (d.h. Exception fangen!).