2013-04-24 2 views
5

버튼의 글꼴을 시스템의 Marlett 글꼴로 설정하려고합니다. 그러나 수동으로 font-face를 설정해도 다른 글꼴이 사용됩니다. 또한, 글꼴 대화 상자를 사용하여 해당 단추의 글꼴을 선택할 때 Marlett가 나열되지 않습니다.버튼 글꼴을 Marlett으로 설정하는 방법

왜 그렇습니까? .NET Windows Forms 컨트롤에서 Marlett 글꼴을 사용하려면 어떻게해야합니까?

+0

기계에 글꼴이 설치되어 있습니까? –

+0

네, 그렇습니다. – Spook

+0

OK를 클릭하고 'Font'를 설정하기 위해 사용하고있는 코드를 추가하십시오. (http://stackoverflow.com/questions/16191751/edit). –

답변

6

변화를 원하는 Button1을,이 코드 항상 설치된 사용자 정의 글꼴 이 디자이너에 나타나지 않습니다. 좋은 소식은 Font 속성이 주변 환경이므로 모든 컨트롤이 Font이되도록하려면 Form으로 설정해야합니다. 그러나, 당신은 단지 하나 개의 제어는 Font 지금의이 작업을 수행 할 수 있도록해야 할 것 같다 : 설정합니다

ctrl.Font = new Font("Marlett", 8.5f); 

해당 컨트롤의 FontMarlett 및 예를 들어 8.5의 크기. 그들은이 Panel 같은 컨테이너에 배치 할 수있는 경우 같은 Font, 을 가지고 컨트롤의 전체 세트를 원한다면

, 당신은 단지 PanelFont 설정해야 할 것입니다; 다시 말하자면, 그것은 주변의 속성입니다.

+0

Marlett는 최소화, 최대화, 닫기, 스크롤바 화살표 등의 글립이있는 내장 글꼴입니다. 디자이너가 글꼴 이름을 수동으로 입력하더라도 강제로 설정하지는 못합니다. 그러나 코드의 솔루션이 실제로 작동합니다. 감사! – Spook

+0

@ 스푹, 정말 도움이 될 수있어서 기쁩니다! –

4
button1.Font = new Font("Marlett",8, FontStyle.Regular); 

넣어 귀하의 버튼 이름은 (iinitializecomponet 후 또는 폼로드 이벤트에 constrcutor에서) 나는 디자이너 뒤에 어떤 코드 모르고 있지만, 내가 가진

0

디자이너는 기본적으로 GdiCharSet을 0으로 설정하려고합니다. 그러면 Marlett 글꼴이 다른 글꼴로 되돌아갑니다.

GdiCharSet을 1로 변경하면 정상적으로 렌더링됩니다.

.designer.cs에서 변경된 사항에 유의하십시오. 또한 코드에서 수동으로 글꼴을 설정할 때 작동 한 이유에 대해서도 설명합니다.