管理几个类似的应用设置

时间:2012-07-25 15:26:23

标签: c# winforms

我正在开发一个应用程序,用于绘制存储在文件中的基于时间的数据。每个文件最多可以包含5个可以绘制的数据集。应用程序本身最多可以渲染10个这样的文件(因此可以在屏幕上呈现50个图形)。

由于屏幕上可能有多个图形 - 顺便说一句,它们是折线图 - 我希望为用户提供一种方法来选择50种可能的折线图中的每一种颜色。

我已经拥有了一个用户界面,可以为用户提供一种简单的方法。问题是我无法想出一种优雅的方法来存储50个可能的线图(顺便说一下,持久存储)中的每一个的颜色信息。

到目前为止,我尝试过将50种颜色选择中的每一种存储在应用程序设置文件中(例如,Properties.Settings.Default命名空间)。不幸的是,有50个设置,它们都按顺序命名,例如File1DataSet1ColorFile1DataSet2ColorFile1DataSet3ColorFile1DataSet4ColorFile1DataSet5ColorFile2DataSet1Color等。遗憾的是,这会产生一些特别长且重复的图形渲染代码。

所以我的问题是:对50个折线图的颜色设置的持久存储有什么优雅的解决方案,这不会导致我的渲染代码中出现脆弱或重复的代码?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

看起来XML序列化是我要走的路。