|
分類:[.NET 全般]
VB.NETを使っております。
チャートオブジェクトで
グリッドラインの上でかつ、シリーズの下にラインを描画したいのですが、
普通に
Private Sub Chart1_PrePaint(sender As Object, e As System.Windows.Forms.DataVisualization.Charting.ChartPaintEventArgs) Handles Chart1.PrePaint
e.ChartGraphics.Graphics.DrawLine()
End Sub
と書くと、最後に表示された、シリーズの下にラインが描画されてしまいます。
If TypeOf e.ChartElement Is ChartArea Then
e.ChartGraphics.Graphics.DrawLine()
End If
とすると、グリッドラインの下に描画されてしまいます。
Dim PrePaintBool As Boolean = False
Private Sub Chart1_PrePaint(sender As Object, e As System.Windows.Forms.DataVisualization.Charting.ChartPaintEventArgs) Handles Chart1.PrePaint
If TypeOf e.ChartElement Is Series Then
If PrePaintBool = True Then
PrePaintBool = False
e.ChartGraphics.Graphics.DrawLine()
End If
Else
PrePaintBool = True
End If
End Sub
とすると、うまくいきました。
何かコードが複雑になってしまったため、
もっとシンプルにできる方法があれば教えてください。
|