2012-07-25 5 views
0

파일에 저장된 시간 기반 데이터를 그래프로 표시하는 응용 프로그램을 작성 중입니다. 각 파일에는 그래프로 표시 할 수있는 데이터 세트가 최대 5 개까지있을 수 있습니다. 응용 프로그램 자체는 최대 10 개의 파일을 렌더링 할 수 있으므로 화면에 50 개의 그래프를 렌더링 할 수 있습니다.몇 가지 유사한 응용 프로그램 설정 관리

화면에 여러 개의 그래프가있을 수 있기 때문에 라인 그래프 일 수 있습니다. 사용자가 50 가지 가능한 선 그래프의 색상을 선택할 수있는 방법을 제공하고자합니다.

나는 사용자가 이미 그렇게 할 수있는 간단한 방법을 제공 할 사용자 인터페이스가 있습니다. 문제는 50 가지 가능한 모든 라인 그래프 (영구 저장 장치)에 대한 색상 정보를 저장하는 우아한 방법을 생각해 낼 수 없다는 것입니다.

내가 지금까지 시도한 것은 응용 프로그램 설정 파일 (예 : Properties.Settings.Default 네임 스페이스)에 50 가지 색상 선택 항목 각각을 저장하는 것입니다. 안타깝게도 50 개의 설정이 있으며 모두 이름이 순차적으로 지정됩니다. File1DataSet1Color, File1DataSet2Color, File1DataSet3Color, File1DataSet4Color, File1DataSet5Color, File2DataSet1Color, 등등. 불행히도 이것은 매우 길고 반복적 인 그래프 렌더링 코드를 만듭니다.

내 질문은 다음과 같습니다. 내 렌더링 코드에서 부서 지거나 반복적 인 코드가 발생하지 않는 50 개의 선 그래프에 대한 색 설정 영구 저장을위한 우아한 솔루션은 무엇입니까?

답변

0

아마 int의 배열을 파일로 직렬화 할 수 있습니다. (두 차원 색의 3 개 부품..)

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

또는 : XML 직렬화 내가 할게요 경로처럼 How to store int[] array in application Settings

+0

필자는 자신의 퍼시스턴스 파일을 만드는 것을 피하고 싶었습니다. 그 이유는 프로그램의 상대적으로 작은 부분 만 작동시키기 위해서 많은 코딩이 필요하기 때문입니다. 즉, XML 직렬화는 이미 프로그램의 오래된 부분에서 사용되고 있기 때문에 사용하기로 결정했습니다. 왜 내가 처음부터 그렇게하지 않았는지 모르겠다. 그래도 제안을 주셔서 감사합니다! :디 – kevin628

관련 문제