DevExpress 모든 컨트롤에 대한 글꼴 및 크기를 일괄로 변경 하는 방법


DevExpress는 닷넷 개발에 있어 많은 개발자가 사용하는 Visual Studio 컴포넌트 라이브러리 입니다.

Winform 개발 뿐만 아니라 ASP.NET의 웹폼 개발에 있었어도 다양한 컨트롤을 제공 하고 있어 쉽고, 간단하게 파워풀한 기능을 갖춘 컨트롤을 구형할 수 있습니다.

닷넷으로 윈폼(Winform)을 개발한다고 했을 때, 화면을 구성하고 있는 Label, TextBox, Grid Control 등의 텍스트의 글꼴을 변경하거나 글꼴의 크기를 변경해야 할 경우 어떻게 하면 쉽게 구현이 가능할까요?

프로젝트에 포함된 수 많은 윈폼에 있는 다양한 컨트롤의 글꼴을 일일이 직접 변경해줘야 한다면 그것은 보통 힘든 작업이 아닙니다.
하지만 DevExpress 컨트롤을 사용해서 윈폼의 화면을 구성했다면 간단하게 모든 컨트롤의 글꼴 및 크기를 일괄로 변경할 수 있습니다.

이번 글에서는 프로젝트의 모든 윈폼에 포함된 DevExpress 모든 컨트롤에 대한 글꼴 및 크기를 일괄로 변경 하는 방법에 대해 알아보겠습니다.

닷넷 프로젝트 글꼴 변경 예제

▼ 아래 화면은 윈폼 프로젝트에서 일괄로 모든 윈폼에 대한 글꼴(Font)를 변경 주기 위한 글꼴 변경 윈폼입니다.

DevExpress 모든 컨트롤에 대한 글꼴 및 크기를 일괄로 변경 하는 방법
  • 글꼴(Font) 종류를 선택하고, 글꼴 크기(Font Size)를 입력하고 글꼴 변경 버튼을 클릭하면 프로젝트의 모든 DevExpress 컨트롤의 글꼴이 해당 글꼴과 크기로 변경되어 보여지게 됩니다.

닷넷 프로젝트 글꼴 변경 예제 소스

▶ 프로젝트에 사용 중인 모든 DevExpress 컨트롤에 대한 Default Font 지정은 아래와 같이 지정해 주면 됩니다.

  • DevExpress.Utils.AppearanceObject.DefaultFont = new System.Drawing.Font(fontName, float.Parse(fontSize));
  • DevExpress.Utils.AppearanceObject.DefaultFont : DevExpress 컨트롤에 대한 디폴트 글꼴(Font)를 지정해 줍니다.
private void btnFontChange_Click(object sender, EventArgs e)
{
    string font = fontEdit.SelectedItem.ToString();
 
    //DevExpress 모든 컨트롤에 디폴트 글꼴 지정
    DevExpress.Utils.AppearanceObject.DefaultFont = new System.Drawing.Font(font, float.Parse(txtSize.Text));
                
    //사용 글꼴을 레지스트리에 저장
    string Setting = @“\Software\ProjectA\Setting”;
    RegistryKey R = Registry.CurrentUser.OpenSubKey(Setting, true);
 
    if (R == null)
    {
        R = Registry.CurrentUser.CreateSubKey(Setting);
        R.SetValue(“Font”, font, RegistryValueKind.String);
        R.SetValue(“FontSize”, txtSize.Text, RegistryValueKind.String);
    }
    else
    {
        R.SetValue(“Font”, font, RegistryValueKind.String);
        R.SetValue(“FontSize”, txtSize.Text, RegistryValueKind.String);
    }
 
    MessageBox.Show(“변경되었습니다.”);
}

닷넷 프로젝트에서 모든 컨트롤의 디폴트 글꼴을 적용하는 방법

▶ 앞 단락에서 프로겍트에서 디폴트로 사용할 글꼴 종류와 글꼴 크기를 레지스트리에 저장했다면 프로젝트의 Application.Run()의 윈폼에 컨트롤의 디폴트 폰트를 한번만 지정해 주면 됩니다.

//레지스트리에서 가져오기
string rFont, rFontSize;
string Setting = @“Software\ProjectA\Setting”;
 
RegistryKey R = Registry.CurrentUser.OpenSubKey(Setting, true);
 
if (R != null)
{
    rFont = R.GetValue(“Font”).ToString();
    rFontSize = R.GetValue(“FontSize”).ToString();
}
 
// 모든 컨트롤에 대한 디폴트 글꼴 지정정
DevExpress.Utils.AppearanceObject.DefaultFont = new Font(rFont, float.Parse(rFontSize));
 

마무리

DevExpress.Utils.AppearanceObject.DefaultFont는 DevExpress 컨트롤에 대한 디폴트 글꼴을 지정할 때 사용합니다.
만약 윈폼의 컨트롤 속성에서 직접 글꼴의 종류나 크기를 지정했다면 해당 컨트롤은 디폴트 글꼴의 적용을 받지 않습니다.
따라서 모든 컨트롤의 글꼴이 자동으로 변경된다고 해서 직접 지정한 컨트롤에 대해서는 영향을 미치지 않으니 편하게 사용하면 됩니다.

DevExpress 컨트롤이 아닌 경우 모든 윈폼에서 직접 글꼴을 변경해 주어야 합니다.





이 글이 도움이 되었기를 바랍니다. ^-^


답글 남기기