2012-12-24 75 views
9

我有一個應用程序與一些文本框。我的用戶填充文本框並運行一些方法,當他們關閉應用程序數據時(通常)丟失。在應用程序執行之間保留數據

我想保留幾個文本框和一些局部變量的值。使用database並不值得,簡單的.txt文件不夠乾淨,在應用程序運行之間是否有任何其他簡單而簡單的方式來存儲少量數據?

我不確定,但聽說過有關資源文件的一些縷縷,它們是否適合這種情況?

+0

http://stackoverflow.com/questions/1435037/how-should-i-store-per-user-data-in-winforms – Habib

回答

16

簡單的方法就是你的文本框綁定到application settings:要保留

  • 轉到屬性>數據>(的applicationSettings)
  • 添加應用程序設置綁定到Text屬性
    • 選擇texbox on FormClosed事件保存應用程序設置

    保存設置:

    private void Form_FormClosed(object sender, FormClosedEventArgs e) 
    { 
        Settings.Default.Save(); 
    } 
    

    下一次,當用戶啓動應用程序,設置將與用戶特定的文件被加載,和文本框將充滿相同的數據,因爲它以前用戶關閉應用程序最後一次。

    此外,在應用程序設置,您可以存儲局部變量,但你必須爲他們手動添加設置,手動讀取應用程序啓動設置:在項目> Settings.settings

    • 打開屬性文件夾
    • 添加你想存儲(例如MyCounter)設置
    • 集MyCounter類型,範圍和默認值(如int,用戶,0)
    • 讀取設置到本地變量var x = Settings.Default.MyCounter
    • 上形成封閉保存設置Settings.Default.MyCounter = x只是打電話Settings.Default.Save()
    +3

    @mahditahs ildari是的,這是一個winform事物'數據'是一類屬性。如果你正在尋找屬性名稱,那麼你需要'(ApplicationSettings)'屬性 –

    +1

    我終於明白了你的觀點:)太棒了,這就是我一直在尋找的東西,我曾經看過它,但在我的大腦後院失去了圖片。 –

    0

    假設你在Windows上(如標籤暗示),你有沒有考慮過註冊表?

    +0

    是的,我在Windows上,是的,我曾考慮過註冊表,但由於某些原因,我希望數據駐留在我的應用程序附近(像其他應用文件) –

    1

    您可以使用以下

    1-本地MS-ACCESS數據庫基於可存儲佔用空間小了。

    2-使用字典,Serilize/Deserilize它的硬盤(使用FileSystem的)

    3-儲存於Windows註冊表

    +0

    對不起,但我說我不想使用數據庫,也不是FileSystem,並且註冊表也被拒絕回答lexu。 –

    +0

    @mahditahsildari:好吧,如果你排除數據庫,註冊表**和**文件系統 - 沒有太多的選項剩下了.... –

    +1

    抱歉,如果你想保存用戶設置,可以在以後重新加載,你需要將它存儲在某個地方。這是什麼類型的應用程序? – TalentTuner

    相關問題