2016-09-29 19 views
0

Eine nicht behandelte Ausnahme vom Typ 'System.ArgumentException' ist in mscorlib.dll aufgetreten. Weitere Informationen: Der Pfad hat keine rechtliche Form. Der Fehler tritt nur auf, nachdem er nach dem Schließen des Fensters zum zweiten Mal gedrückt wurde.Eine nicht behandelte Ausnahme vom Typ 'System.ArgumentException' ist aufgetreten

Heres Code:

 private void button1_Click(object sender, EventArgs e) 
    { 
     OpenFileDialog OpenFd = new OpenFileDialog(); 
     OpenFd.Filter = "Images only. |*.jpg; *.jpeg; *.png; *.gif;"; 

     DialogResult dr = OpenFd.ShowDialog(); 
     pictureBox1.Image = Image.FromFile(OpenFd.FileName); 
     ItemUrl.Text = OpenFd.FileName; 


    } 
+0

Was ist der 'OpenFd.FileName' bei der ersten und zweiten Ausführung? –

+0

Haben Sie über Ihren Code debugged? – xxbbcc

+0

@Konrad Kokosa es ist der Code zum Durchsuchen, wie es öffnet Ihre Datei, damit Sie das Foto wählen, OpenFileDest –

Antwort

0

Sie müssen behandeln, ob Sie ein Bild ausgewählt oder angeklickt „Abbrechen“ auf dem File-Dialog. Verwenden Sie stattdessen dieses Format:

 OpenFileDialog OpenFd = new OpenFileDialog(); 
     OpenFd.Filter = "Images only. |*.jpg; *.jpeg; *.png; *.gif;"; 

     if (OpenFd.ShowDialog() == DialogResult.OK) //You selected an image 
     { 
      pictureBox1.Image = Image.FromFile(OpenFd.FileName); 
      ItemUrl.Text = OpenFd.FileName; 
     } 
     else 
     { 
      //You cancelled the operation 
     } 
+0

Versucht und es funktioniert genauso gut, ich werde es durch Dank sehen –

+0

Die Ausnahme wurde wahrscheinlich verursacht, weil Sie den Dialog geschlossen ohne Auswahl einer Datei, was dazu führt, dass OpenFd.Filename einen leeren String-Wert hat. Wenn der Compiler versuchte, es als Dateiadresse in Image.FromFile() zu verwenden, erzeugte es den Fehler – Innat3

+0

Ja, das ist was ich auch vermute, Kann ich fragen, ob es eine Methode gibt, sagen wir eine Combobox, die 5 Elemente und eine Schaltfläche hat Wenn die Combobox auf einen anderen Wert geändert wird, ist die Schaltfläche nicht sichtbar = .Visible = false; Welche Codezeile sollte ich verwenden? E.G Wenn Combobox1. ??? @ innat3 –

Verwandte Themen