2012-11-09 2 views
4

저는 그래픽이있는 비트로 작업하고 있습니다. 차트에 축이있을 때 그래프의 세로 줄이 하나가되도록해야합니다 렌더링. 일부 텍스트가 잘리는 지 신경 쓰지 않지만 정상적으로 절단해야합니다.system.drawing.stringformat을 사용하여 세로 줄 바꿈 문자열을 얻는 방법

저는 Carlos Ag에서 제공하는 WebChart dll을 사용하고 있으며 System.Drawing.StringFormat 개체를 차트에 전달하고 있습니다.

objChartText = New WebChart.ChartText 
objChartText.Font = New Font("Verdana", 8, FontStyle.Regular, GraphicsUnit.Point) 

Dim objStringFormat As StringFormat = New StringFormat(StringFormatFlags.DirectionVertical) 

objStringFormat.LineAlignment = StringAlignment.Center 
objStringFormat.Alignment = StringAlignment.Center 
objStringFormat.Trimming = StringTrimming.Word 

objChartText.StringFormat = objStringFormat 

"StringformatFlags.DirectionVerticle"은 위치를 결정하는 열거 형입니다. 거기에 내가 원하는 결과를 줄 수있는 전달할 수있는 다른 알려진 아닌 enum 값이 있는지 궁금하네요. defined enum 중 아무 것도 내가 원하는 것을 나에게주지 않습니다. 나는 단순히 2 (DirectionVertical)와 4096 (nowrap)을 원하는 열거 형을 추가하려고 시도했지만 그래프 아래에 넓은 문자 간격으로 단일 문자를 남겨 둡니다.

제안 사항?

답변

3

여기의 문제는 실제로 열거가 아닌 트리밍과 정렬입니다.

enum을 추가하여 효과를 결합 할 수 있습니다. 이 경우 올바른 값은 4098이므로 인스턴스화는

Dim objStringFormat As StringFormat = New StringFormat(4098) 

이어야하며 트리밍 또는 정렬을 변경해야합니다. 내 해결책은 트리밍을

objStringFormat.Trimming = StringTrimming.Character 

으로 변경하는 것이 었습니다. 내 문제가 해결되어 멋진 그래프를 만들 수있었습니다.