을 사용하여 드로잉 한 후 큰 테두리 상자에 문자열을 그리고 StringFormat을 사용하여 문자열을 적절하게 정렬합니다. 그러나 일단 (MeasureString에 의해 주어진 크기가 아니라) 그려진 문자열의 실제 (X, Y) 위치가 필요합니다.문자열의 위치 결정 WinForms (C#)
나는 아래의 코드를 사용하고 있습니다 :
CharacterRange[] ranges = { new CharacterRange(0, this.Text.Length) };
format.SetMeasurableCharacterRanges(ranges);
//Measure character range
Region[] region = g.MeasureCharacterRanges(this.Text, this.Font, layoutRect, format);
RectangleF boundsF = region[0].GetBounds(g);
bounds = new Rectangle((int)boundsF.Left, (int)boundsF.Top,
(int)boundsF.Width, (int)boundsF.Height);
를이 코드 세그먼트가 너무 누락 선언을 무시합니다. 요점은 위의 코드가 제공하는 사각형이 올바른 크기가 아니며 문자열의 마지막 문자가 삭제되고 첫 번째 문자열 만 그려지는 것입니다.
누구나 알고 계신지, 아니면이 문제를 해결할 더 좋은 방법이 있습니까?
감사
또한 크기와 위치를 조정합니다. – Shimmy