4

我正在处理图形,当我的图表被渲染时,我需要让我的图表上的轴标签成为一条垂直的文本行。我不在乎某些文本是否被截断,但我需要它优雅地截断。

我正在使用 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”是一个确定位置的枚举。我想知道是否有一个不同的已知非枚举值可以传递给我想要的结果。定义的枚举都没有给我想要的东西。我尝试简单地添加我想要的枚举 2(DirectionVertical)和 4096(nowrap),但这会在图形下方留下宽间距的单个字符。

有什么建议么?

4

1 回答 1

3

这里的问题实际上是修剪和对齐,而不是枚举。

可以添加枚举来组合效果。在这种情况下,正确的值为 4098,因此实例化应为

Dim objStringFormat As StringFormat = New StringFormat(4098)

并且应该更改修剪或对齐方式。我的解决方案是将修剪更改为

 objStringFormat.Trimming = StringTrimming.Character

这解决了我的问题并允许我创建一个漂亮的图表。

于 2012-11-09T20:22:44.737 回答