2016-08-08 40 views
0

Ich habe ein kleines Programm in winforms; es ist nur ein Programm, wo ich Bilder haben kann, aber ich habe ein Problem. Wenn ich ein Bild habe, schließe ich das Programm und öffne es wieder, die Bilder bleiben nicht wo ich sie abgelegt habe, in der PictureBox.Speichern Sie den Status eines Formulars mit PictureBox?

Einfacher möchte ich den Zustand beibehalten, wenn ich das Programm schließe, wie das Speichern.

Hier mein Code:

public partial class Form2 : Form 
{ 
    public Form2() 
    { 
     InitializeComponent(); 
    }  
     private void pictureBox1_Click(object sender, EventArgs e) 
     { 
      OpenFileDialog f = new OpenFileDialog(); 
      f.ShowDialog(); 


      var chemin = f.FileName; 
      pictureBox1.ImageLocation = chemin; 

     } 

    } 
} 

Bitte helfen Sie mir, ich kann nicht mit diesem Problem weitergehen ...

+2

Sie über Serialisierung lesen sollten, müssen Sie die Daten in ein speichern Datei, dann lesen Sie es zurück, wenn das Programm startet https://msdn.microsoft.com/en-us/library/mt656718.aspx – GreatJobBob

+1

... oder speichern Sie den Speicherort des Dateinamens zu den Einstellungen – Plutonix

+0

Plutonix: Mit was kann ich tun Dies ? –

Antwort

0

Der einfachste Weg, dies zu tun ist, um die Anwendungseinstellungen zu verwenden. Klicken Sie mit der rechten Maustaste auf Ihr Projekt und wählen Sie Eigenschaften. Gehe dann zu Einstellungen. Auf der rechten Seite sehen Sie ein Panel mit einem Raster mit nur einer Linie. Ändern Sie die Einstellung in der Spalte Name in ImageLocation und belassen Sie die anderen drei Werte (Type, Scope und Value) als Standardwerte (string, user und blank).

Doppelklicken Sie in der Entwurfsansicht Ihres Formulars unter Eigenschaften auf das FormClosing-Ereignis, um einen neuen Handler zu erstellen. Geben Sie jetzt:

 if (pictureBox1.ImageLocation != null) 
     { 
      Properties.Settings.Default.ImageLocation = pictureBox1.ImageLocation; 
      Properties.Settings.Default.Save(); 
     } 

schließlich im Konstruktor für das Formular geben Sie die folgende nach InitializeComponent():

 if (Properties.Settings.Default.ImageLocation != null) 
     { 
      pictureBox1.ImageLocation = Properties.Settings.Default.ImageLocation; 
     } 

HTH