2014-04-24 54 views
0

我有一個單詞搜索創建器應用程序。用戶輸入一個單詞列表,寬度和高度設置,單詞放置設置等。當用戶點擊保存按鈕時,我想將這些設置保存到一個文件中,以便以後用戶可以打開該應用程序保存的設置。我不知道如何做到這一點。 (除了打開savefiledialog)如何使用保存對話框從Windows窗體應用程序保存設置

+0

您可能有興趣閱讀關於序列化:http://msdn.microsoft.com/en-us/library/ms233843.aspx –

+0

要跟進@ChrisLaplante,我建議您使用XML序列化。一旦你瞭解它的工作原理,這非常容易。只有幾個屬性需要序列化和VOIL! http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer%28v=vs.110%29.aspx – joce

回答

0

SaveFileDialog僅爲您的應用程序提供GUI另存爲窗口,允許用戶選擇保存位置和文件名。該對話框附帶一個事件處理程序(我相信它稱爲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序列化的教程,您應該看看。

0

打開項目屬性,然後選擇左側選項卡上的「設置」。您可以添加您想要在其中保留的任何設置。

enter image description here

捕捉你從用戶希望再任何設置這樣做:

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

這些設置保存在App.config。