2016-08-08 34 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

Plutonix:我能做什么这个 ? –

回答

0

要做到这一点,最简单的方法是使用应用程序设置。右键单击您的项目并选择属性。然后去设置。在右侧,你会看到一个网格只有一行的面板。将名称列中的设置更改为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