C# XtraEditors LabelControl 텍스트를 오른쪽으로 정렬 하는 방법


WinForm 프로그램 개발에서 가장 많이 사용하는 컨트롤이 Label(LabelControl)과 TextBox(TextEdit) 컨트롤이 아닐까 생각합니다.

그 중에서도 Label은 TextBox를 설명하는 등 화면을 전반적으로 설명해 주는 부분이라 무엇보다 많이 사용되고 중요 합니다.

프로그램 실행중에 Source 단에서 Label 텍스트를 변경하거나, Font Size를 변경한다고 하면 표준 속성의 Label은 바로 오른쪽에 붙어 있는 다른 컨트롤의 영역을 침범하여 컨트롤을 가리게 됩니다.
이 말이 무슨 의미인지는 아래 예제 화면을 참고하시면 바로 이해하실 수 있습니다.

이런 문제를 해결하기 위해서는 Label의 텍스트가 오른쪽 정렬이 되도록 하면 됩니다.

이번 글에서는 DevExpress XtraEditors LabelControl 텍스트를 오른쪽으로 정렬 하는 방법에 대해 알아보겠습니다.
Visual Studio 표준 Label 컨트롤의 텍스트 오른쪽 정렬에 대해서도 함께 알아보겠습니다.

Label Control의 Text에 대해 오른쪽 정렬이 필요한 이유

▼ 아래 윈폼 프로그램을 실행한 결과를 캡처한 화면입니다.

1번 Label과 2번 Label의 차이점이 뭘까요?
현재로서는 차이점을 알 수 없습니다. 둘 다 같은 Label로 보여집니다.

Label Control의 Text에 대해 오른쪽 정렬이 필요한 이유 1

▼ 아래 화면은 Visual Studio 다자인 보기에서 두 Label을 선택했을 때의 모습 입니다.
두 Label의 차이점이 보입니다.

Label Control의 Text에 대해 오른쪽 정렬이 필요한 이유 2

▼ 아래 화면의 좌측은 Label 컨트롤의 Font Size를 10에서 15로 크게 했을 때의 화면이고, 우측은 Font Size는 변동 없이 텍스트의 내용을 ‘발령일자’에서 ‘이전발령일자’로 변경 했을 때(텍스트의 글자 수를 늘렸을 때)의 화면입니다.

Label Control의 Text에 대해 오른쪽 정렬이 필요한 이유 3

①번과 ②번의 차이점을 확연히 알 수가 있습니다.

  • ①번은 Font Size를 변경하거나 텍스트의 글자 수를 늘려도 우측에 있는 TextBox 컨트롤에 아무런 영향을 미치지 않습니다. 원래의 간격을 그대로 유지하는 것을 확인 할 수 있습니다.
  • 반면 ②번은 Font Size를 크게 변경하거나 텍스트를 글자 수를 늘리면 우측에 있는 TextBox 컨트롤 영역을 일부 겹치는 문제점이 발생하고 있습니다.
  • ①번과 같이 Label 컨트롤의 텍스트를 우측 정렬을 했을 때 만약 샘플 화면과 반대로 Label 컨트롤 우측에 다른 컨트롤이 배치되었다면 우측 정렬을 하게 되면 우측의 컨트롤과 영역이 겹치게 됩니다.

DevExpress XtraEditors Label Control의 속성을 변경하여 텍스트를 오른쪽으로 정렬하기

DevExpress의 LabelControl의 속성 변경

  1. AutoSizeMode를None‘로 변경합니다. 그럼 Label 컨트롤의 크기를 임의로 조절할 수 있습니다.
  2. Label 텍스트에 들어올 수 있는 최대 글자와 Font Size를 고려하여 적당한 크기로 조절합니다.
  3. Appearance – TextOptions – HAlignment의 속성을 ‘Far‘로 변경합니다.
XtraEditors LabelControl 텍스트를 오른쪽으로 정렬 하는 방법

Visual Studio 표준 Label Control의 속성을 변경하여 텍스트를 오른쪽으로 정렬하기

Visual Studio 표준 Label의 속성 변경

  • AutoSize 속성을 ‘False‘로 변경합니다.
  • Font – TextAlign 속성을 ‘MiddleRight‘로 변경해 줍니다.
Visual Studio 표준 Label Control의 속성을 변경하여 텍스트를 오른쪽으로 정렬하기


결과적으로 TextBox의 제목 또는 설명을 위해 Label을 사용할 때 TextBox와 Label의 위치에 따라 Label의 텍스트 정렬을 오른쪽 또는 왼쪽으로 해서 사용하면 두 컨트롤 간에 영역이 겹치는 문제를 해결할 수 있습니다.
뿐만 아니라 Label 텍스트의 시작 또는 끝 부분을 일렬로 맞추게 되면 보다 깔끔한 윈폼을 만들 수가 있습니다.





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


답글 남기기