当前位置 : 主页 > 编程语言 > c语言 >

vb.net – 如何使用system.drawing.stringformat获取垂直nowrap字符串

来源:互联网 收集:自由互联 发布时间:2021-06-24
我正在研究图形,我需要在绘制图表时将图形上的轴标记为单个垂直文本行.我不在乎是否有一些文字被删除,但我需要它优雅地截断. 我正在使用Carlos Ag提供的WebChart dll并将System.Drawing.S
我正在研究图形,我需要在绘制图表时将图形上的轴标记为单个垂直文本行.我不在乎是否有一些文字被删除,但我需要它优雅地截断.

我正在使用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),但是在图形下方留下宽间距的单个字符.

有什么建议?

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

可以添加枚举以组合效果.在这种情况下,正确的值是4098,因此实例化应该读取

Dim objStringFormat As StringFormat = New StringFormat(4098)

并应修改修剪或对齐.我的解决方案是将修剪更改为

objStringFormat.Trimming = StringTrimming.Character

这解决了我的问题,并允许我创建一个漂亮的图形.

网友评论