본문으로 바로가기

비주얼스타일과 텍스트 랜더링 설정

category Development/C# 2010. 7. 21. 12:59

VS 2005 로 윈폼을 만들면 Program.cs 파일에 다음과 같은 코드가 자동 됩니다.

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

Application.Run(new Form1());


Application 클래스의 정적메서드인 EnableVisualStyles 은 현재 윈도우 응용프로그램의 비주얼(Visual) 스타일을 적용하도록 하는 메서드 입니다.
단 해당 컨트롤과 운영체제가 비주얼 스타일을 지원하는 경우만 가능합니다.

지원되는 운영체제 목록
Windows XP Home Edition, Windows XP Professional x64 Edition, Windows Server 2003

또한 이 메서드는 컨트롤이 만들어 지기 전에 호출해야 되므로 폼을 생성하기 이전에 코드가 기록되어 있습니다
비주얼 스타일을 적용했을 경우와 하지 않았을 경우의 UI 샘플을 보여 드리겠습니다

1.비주얼 스타일을 적용한 경우                          2.비주얼 스타일을 적용하지 않은 경우

 
 


폼에 버튼과 콤보박스 컨트롤이 올라가 있는데요.. 컨트롤에는 아무런 설정을 하지 않았습니다
단지, Application.EnableVisualStyles() 로 비주얼 스타일을 적용/적용않음 을 설정했을 뿐인데

UI 가 확연히 달라져 보임을 확인 할 수 있습니다

이처럼 비주얼 스타일을 적용하면 UI 가 좀더 깔끔하고 이쁘게 보이게 됩니다
현재 우리는 VS 2005 , 즉 .NET Framework 2.0 기반의 응용프로그램에서 설명합니다
.NET Framework 1.x 기반에서는 이와 관련해 주의사항이 있습니다

다음은 MSDN 에 설명입니다

참고 
NET Framework 2.0 이전 버전에서는 비주얼 스타일로 컨트롤을 그리기 위해 ButtonBase에서 파생되는 컨트롤과 같은 일부 컨트롤의 FlatStyle 속성을 FlatStyle.System으로 설정해야 합니다. .NET Framework 2.0으로 작성된 응용 프로그램에서는 더 이상 이러한 작업이 필요하지 않습니다.

Application 클래스로 설정된 정보는 응용프로그램 수준, 즉 현재 응용프로그램 전체에 설정되므로
Program.cs 파일 처럼 폼을 띄우기 전에 한번 호출하거나 메인폼에서 직접 해출하면 모든 폼에 적용이 됩니다

'Development > C#' 카테고리의 다른 글

정규표현식  (0) 2010.07.21
세계기준시간(UTC) 편차  (0) 2010.07.21
문화권 식별자  (0) 2010.07.21
객체 직렬화(Serialization) 역직렬화(Deserialization)  (0) 2010.06.03
ThreadPool and Socket Programming  (0) 2010.02.05