我正在研究图形,我需要在绘制图表时将图形上的轴标记为单个垂直文本行。我不在乎是否有一些文字被删除,但我需要它优雅地截断。
我正在使用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”是一个确定位置的枚举。我想知道是否有一个不同的已知非枚举值,我可以通过,这将给我所需的结果。 defined枚举中没有一个能给我我想要的东西。我试过简单地添加我想要的枚举2(DirectionVertical)和4096(nowrap),但是在图表下面留下宽间距的单个字符。
有什么建议吗?
答案 0 :(得分:3)
这里的问题实际上是修剪和对齐,而不是枚举。
可以添加枚举以组合效果。在这种情况下,正确的值是4098,因此实例化应该读取
Dim objStringFormat As StringFormat = New StringFormat(4098)
应修改修剪或对齐。我的解决方案是将修剪更改为
objStringFormat.Trimming = StringTrimming.Character
这解决了我的问题,并允许我创建一个漂亮的图形。