2012-05-12 6 views
3

내 프로그램은 PrintPage 이벤트를 사용하는 PrintDocument의 상자에 여러 줄의 텍스트를 그립니다. 폭은 설정되어 있지만 높이는 텍스트의 크기에 따라 증가해야합니다.측정 문자열 높이

int BoxHeight = (int)e.Graphics.MeasureString(StringToDraw, FontToUse, BoxWidth).Height; 

이것은 대부분 시간을 찾고있는 높이의 두 배를 반환하지만 항상 그런 것은 아닙니다. e 개체는 PrintDocument.PrintPage- 이벤트에 전달 된 System.Drawing.Printing.PrintPageEventArgs입니다. 상자를 텍스트에 단단히 맞추기 위해 빈 공간을 인쇄하기위한 죽은 나무를 낭비하지 마십시오.

내가 솔루션을 검색하지만 어쩌면 내가 그들을 나를 위해 일을 할 수 없었기 때문에 나는 이해하지 못했다 무언가를 프로그래머했습니다.

+0

OOOPS! 내 잘못이야. 방금 의도 한 BoxWidth의 절반을 제공하고있는 것으로 나타났습니다. 코드가 완벽하게 작동하는 것 같습니다. 미안합니다. – RagnarDa

+0

당신은 자신의 질문에 답하고 대답으로 표시 할 수 있습니다. – angelsl

답변

1

발견. BoxWidth를 예상했던 것의 절반으로 설정했습니다. 이제 잘됩니다.