c# Drag and Drop Bilder

05/13/2012 17:14 taigatenshi#1
Hey leute ich würde egrne wissen wie ich in c# bilder die ich ins program reinziehe in eine picture box oder so laden kann
ich weis ich brauch den eventhandler ****_DragEnter
aber was mache ich dann um dann bild zu kopieren und in die message box zu laden
05/17/2012 11:08 streppel#2
im DragEnter:
Code:
            
if(e.Data.GetDataPresent(DataFormats.FileDrop))
            e.Effect=DragDropEffects.Copy;
            else
            {
                e.Effect=DragDropEffects.None;
            }
im DragDrop
Code:
            FileInfo fi = new FileInfo(((string[])e.Data.GetData(DataFormats.FileDrop))[0]);
            string[] allowedfiletypes = {"jpg", "png", "bmp", "tif", "jpeg"};
            if (allowedfiletypes.Contains(fi.Name.Split('.')[1]))
            {
                pictureBox1.Image = new Bitmap(fi.FullName);
                dragDropFilename = fi.FullName;
            }
            else
            {
                MessageBox.Show("Unbekannter Dateityp.\r\nErlaubt sind lediglich jpg,tif,png und bmp");
            }
benutze es so in nem eigenen projekt,funktioniert super :)
05/21/2012 13:34 G0dLesZ#3
Exception handling nicht vergessen!
Code:
if (allowedfiletypes.Contains(fi.Name.Split('.')[1]))
Wenn ich sowas lese stehen mir die Nackenhaare zu Berge.. es wird davon ausgegeben, das die Datei eine Erweiterung hat.
Was aber, wenn man eine Dtaei ohne Erweiterung auf die Applikation zieht? Richtig, Ausnahme.

Code:
string[] allowedfiletypes = {"jpg", "png", "bmp", "tif", "jpeg"};
Gehört zwar eher in eine editierbare Konfiguration, aber Geschmacks- & Anwendungssache.

Rudimentäre Funktionalität jedoch ist gegeben.