|
分類:[.NET 全般]
チャート上に十字ラインを表示したいのですが、 以下のコードで表示することができます。
Private Sub Chart1_PostPaint(sender As Object, e As System.Windows.Forms.DataVisualization.Charting.ChartPaintEventArgs) Handles Chart1.PostPaint
Dim g As Graphics = e.ChartGraphics.Graphics
dim _mp0 = Chart1.PointToClient(Windows.Forms.Cursor.Position)
If ChartRectangle.Contains(_mp0) Then
g.DrawLine(Pens.Green, _mp0.X, ChartRectangle.Top, _mp0.X, ChartRectangle.Bottom) g.DrawLine(Pens.Green, ChartRectangle.Left, _mp0.Y, ChartRectangle.Right, _mp0.Y)
End If
ChartRectangleには、チャートのグラフ領域が格納されています。
ただ、一つ問題は、 カーソルを速く動かしてチャートの外に出た時に 十字ラインが取り残されて描画がクリアされないことがあることです。
どうすれば、チャートの外に出ると クリアできるようにできますでしょうか?
gをPrivate変数にして Chart1.Leaveでgにnothingを代入するしかないですか?
|