2012-07-25 30 views
0

我正在研究存儲在文件中的基於時間的數據的應用程序。每個文件最多可以有5個可以繪製圖表的數據集。應用程序本身最多可以渲染10個這樣的文件(因此可以在屏幕上渲染50個圖形)。管理幾個類似的應用程序設置

由於在屏幕上可能會有多個圖形 - 順便提一句,我期待爲用戶提供一種方法來選擇50種可能線形圖中每一種的顏色。

我已經有了一個用戶界面,可以爲用戶提供一個簡單的方法。問題是,我無法想出一種優雅的方式來存儲50個可能線圖中每一個的顏色信息(順便說一下,持久存儲)。

我到目前爲止所嘗試的是在應用程序設置文件(例如,Properties.Settings.Default命名空間)中存儲每個50行顏色選擇。不幸的是,有50個設置,它們都是按順序命名的,例如, File1DataSet1Color,File1DataSet2Color,File1DataSet3Color,File1DataSet4Color,File1DataSet5Color,File2DataSet1Color等等。不幸的是,這造成了一些特別長且重複的圖形渲染代碼。

所以我的問題是這樣的:什麼是50個線圖的持久存儲顏色設置的優雅解決方案,它不會導致我的渲染代碼中出現脆弱或重複的代碼?

回答

0

看起來像XML序列化是我採取的路徑。

0

也許你可以將一個int的數組序列化到一個文件中。 (二維爲3個部分的顏色。)

BinaryFormatter formater = new BinaryFormatter(); 
string path = "path"; 
object data = "data"; 
using (Stream stream = File.Create(path)) 
    formater.Serialize(stream, data); 

或者: How to store int[] array in application Settings

+0

我原本想避免創建自己的持久性文件,因爲這涉及到很多額外的編碼,只是爲了讓程序的相對較小部分發揮作用。也就是說,我們決定使用XML序列化,因爲它已經被程序中較舊的部分使用。不知道爲什麼我剛剛沒有做到這一點。還是)感謝你的建議! :d – kevin628 2012-07-25 16:50:56

相關問題