2016-08-08 1 views
0

У меня есть небольшая программа в winforms; это просто программа, где у меня могут быть фотографии, но у меня есть проблема. Когда у меня есть изображение, я закрываю программу, и я открываю ее снова, картинки не остаются там, где я их разместил, в PictureBox.Сохранить состояние формы с помощью PictureBox?

Проще говоря, я хочу сохранить состояние, когда я закрываю программу, например, сохранение.

Вот мой код:

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; 

     } 

    } 
} 

Пожалуйста, помогите мне, я не могу идти с этой проблемой ...

+2

Вы должны прочитать о сериализации, вам необходимо сохранить данные в файл, затем прочитайте его, когда программа запустится https://msdn.microsoft.com/en-us/library/mt656718.aspx – GreatJobBob

+1

... или просто сохраните имя файла в настройках – Plutonix

+0

Плутоникс: с чем я могу это ? –

ответ

0

Самый простой способ сделать это состоит в использовании параметров приложения. Щелкните правой кнопкой мыши проект и выберите «Свойства». Затем перейдите в Настройки. С правой стороны вы увидите панель с сеткой с одной строкой. Измените параметр в столбце Name на ImageLocation и оставьте остальные три значения (тип, область и значение) в качестве их значений по умолчанию (строка, пользователь и пробел).

В представлении дизайна вашей формы по свойствам дважды щелкните событие FormClosing, чтобы создать новый обработчик. Теперь введите:

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

Наконец, в конструкторе формы введите следующее после InitializeComponent():

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

HTH

Смежные вопросы