4

私はグラフィックスを少し使っていますが、グラフの軸のラベルを、グラフをレンダリングするときに1本の縦線のテキストにする必要があります。一部のテキストが途切れてもかまいませんが、適切に切り捨てるために必要です。

CarlosAgが提供するWebChartdllを使用しており、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 に答える