如何使用保存对话框从Windows窗体应用程序保存设置

时间:2014-04-24 02:19:55

标签: c# visual-studio windows-forms-designer savefiledialog

我有一个单词搜索创建器应用程序。用户输入单词,宽度和高度设置列表,单词放置设置等。当用户单击保存按钮时,我希望将这些设置保存到文件中,以便稍后用户可以使用保存的设置。我不知道怎么做。 (除了打开savefiledialog)

2 个答案:

答案 0 :(得分:0)

SaveFileDialog仅为您的应用程序提供GUI另存为窗口,允许用户选择保存位置和文件名。 Dialog附带了一个事件处理程序(我相信它叫做FileOK),您可以在其中访问mySaveFileDialog.Filename。

尚未保存任何数据或文件。要做到这一点,你可以采取各种路线,但最简单的是使用System.IO.StreamWriter:

using System.IO;
...
StreamWriter sw = new StreamWriter(mySaveFileDialog.Filename); //Pass the chosen filename
sw.WriteLine( string goes here );
sw.Close();

但是,您必须提供数据的字符串表示。

对于更复杂的类型,请使用XML序列化。您可以将数据结构定义为类,然后使用.NET内置的System.Xml.Serialization命名空间自动将类的表示输出到易于读取的XML文件中:

public class MyWordGame {
   public string[] myWords;
   public int height;
   ...
}

...
XmlSerializer xmlOut = new XmlSerializer(MyWordGame.GetType());
xmlOut.Serialize(new FileStream(mySaveFileDialog.Filename), new MyWordGame());

然后,您可以执行反向(反序列化)以从XML文件恢复原始类

有很多关于XML序列化的教程,你应该看一下。

答案 1 :(得分:0)

打开项目属性,然后选择"设置"在左侧标签上。您可以添加要在其中保留的任何设置。

enter image description here

从用户捕获您想要的任何设置,然后执行以下操作:

        var setting = new Settings();
        setting.MyCustomSetting = "UserSeting here";
        setting.Save();

这些设置保存在app.config中。