저는 20 가지 형태의 C#으로 개발 된 Windows 응용 프로그램을 가지고 있습니다. 어떻게하면 데이터베이스에서 사용자가 선택한 글꼴을 저장하고 프로젝트의 모든 양식에 기본 양식, 레이블, 텍스트 상자 등으로 적용되므로 응용 프로그램에서 다시로드 할 수 있습니까?사용자가 응용 프로그램 인터페이스 (글꼴, 색상 ...)를 사용자 정의 할 수있게 하시겠습니까?
사실 저는 사용자가 신청서를 사용자 정의 할 수있게하려고합니다.
저는 20 가지 형태의 C#으로 개발 된 Windows 응용 프로그램을 가지고 있습니다. 어떻게하면 데이터베이스에서 사용자가 선택한 글꼴을 저장하고 프로젝트의 모든 양식에 기본 양식, 레이블, 텍스트 상자 등으로 적용되므로 응용 프로그램에서 다시로드 할 수 있습니까?사용자가 응용 프로그램 인터페이스 (글꼴, 색상 ...)를 사용자 정의 할 수있게 하시겠습니까?
사실 저는 사용자가 신청서를 사용자 정의 할 수있게하려고합니다.
글꼴 개체를 데이터베이스에 직접 저장할 수 없습니다. 문자열 값을 문자열로 변환하고 다시 변환하여 문자열 값을 데이터베이스에 저장할 수있는 함수를 만들 수 있습니다.
응용 프로그램의 모양 설정 대화 상자에서 fontToString() 함수를 저장하는 동안 필요한 모든 설정을 가질 수 있습니다. 그런 다음 저장할 데이터베이스가 있다고 가정합니다. 그렇지 않으면 AppData 또는 .NET의 Properties.Settings.Default 기능을 사용할 수 있습니다. 함수에서 가져온 문자열을 데이터베이스에 저장하십시오.
또한 public static 클래스 또는 updateFontInAllWindows()라는 쉽게 액세스 할 수있는 함수를 구현해야합니다.이 함수는 데이터베이스에서 설정을 조회하여 모든 형식에 적용합니다. 다음은 몇 가지 샘플 코드입니다 (글꼴 usefont는 데이터베이스 쿼리의 최종 결과입니다).
Font usefont = DatabaseHandler.GetFont();
List<Form> formList = new List<Form>();
formList.Add(Form1);
formList.Add(Form2);
foreach (Form frm in formList) {
foreach (Control ctl in frm.Controls) {
ctl.Font = usefont;
}
}
이 코드는 각 양식의 각 컨트롤을 반복하고 해당 글꼴을 적용합니다. BackgroundColor와 같은 다른 설정을 사용하도록 확장 할 수도 있습니다. 사용자 설정에 따라 사용자 정의 할 각 양식을 formList 목록에 추가해야합니다. 행운을 빕니다!
모든 형태의로드 이벤트 또는 내 애플리케이션의 메인 폼에서이 함수를 호출해야합니까? 또는 바인딩 객체 속성과 같은 것을 할 수 있습니다. –
양식 세트에서 속성 바인딩을 사용하지 않는 것이 좋습니다. 이렇게하면 옵션 집합을보다 포괄적으로 제어 할 수 있습니다. 이 함수는 시작할 때, 준비가 될 때마다 (데이터베이스를 초기화 한 후 또는 수행해야 할 작업) 한 번만 호출해야합니다. – LS97