다음 디자인을위한 지침이 필요합니다.40 개 이상의 제어 값을 추적하십시오
다양한 그룹 상자가 포함 된 탭 컨트롤이 있습니다. 그룹 상자에는 해당 그룹 상자와 관련된 특정 컨트롤이 있습니다. 예를 들어 변경이 그룹 상자의 모든 컨트롤을 만들어 지금 때마다
, 컨트롤의 값이 응용 프로그램의 실행주기의 끝에 있기 때문에 추적 할 필요가 제어 데이터가 필요합니다 해당 값을 포함하는 파일에 저장됩니다. 예제 파일은 다음과 같습니다HOT_STANDBY_FEATURE_ENABLE [val from control here]
HEART_BEAT_DIGITAL_OUTPUT [val from control here]
....
내가 염두에두고 설계로 가지고있는 그룹 상자 양식 세트의 valueChanged 이벤트가 발생 할 때마다 단지 특성을 가지고 그 다른 제어.
예제 코드 :이에 볼
class ConfigurationValues
{
public int HotStandbyValue { get; set; }
public int HeartBeatDigitalOutputValue { get; set; }
//...add all other controls here
}
단점은 해당 탭 페이지 40 개 컨트롤이 있다는 것을, 그래서 수동으로 각 속성을 입력해야 할 것이다. 응용 프로그램 실행주기가 끝날 때 파일을 생성해야하는 경우 제어 필요성의 값을 가져 오는 방법이 있습니다.
예 :
private void GenerateFile()
{
string[] file =
"HOT_STANDBY_FEATURE_ENABLE " + ConfigurationTabSettings.HotStandbyValue;
}
내가해야 할 또 다른 디자인 고려 사항은 사용자가 "열기 구성 파일", 디스크에서 파일에서 값을 클릭 할 때마다 너무 속성으로로드 할 필요가있다 양식을 시작할 때 해당 데이터를 가져 와서 해당 값으로 그룹 상자 내의 컨트롤을 채울 수 있습니다.
이 디자인에 대한 어떤 제안이라도 대단히 감사하겠습니다. 나는 이것이 가장 효율적인 방법이 아니며 가장 숙련 된 프로그래머가 아니므로 검색 할 수있는 Google 키워드도 좋습니다.
Mangist에게 문의 해 주셔서 감사합니다. XML을 사용하여 구성 설정을 저장하고로드 할 수 있다는 것을 알게 된 후 해당 메서드를 사용하여 컨트롤을로드하려고합니다. DataBinding에 대해 읽었을 때 순간적으로 혼란 스럽습니다. – brazc0re
DataBinding을 사용하면 ConfigurationValues 속성을 읽고 컨트롤의 Text 속성을 수동으로 설정하는 것보다 훨씬 쉽고 읽기 쉽습니다. 데이터를 저장하려면 ConfigurationValues 개체로 다시 읽어야합니다. 바인딩을 사용하면이 모든 것이 프레임 워크에 의해 자동으로 처리됩니다. 행운을 빕니다! – Mangist
Mangist, 당신이 작성한 DataBinding 예제를 실험 한 후에, 이것이 제가가는 최선의 방법입니다. 앞서 언급했듯이 바인딩 프레임 워크는 훨씬 쉽게 읽을 때 "텍스트"값을 채 웁니다. – brazc0re