public void Paint(ChartPaintEventArgs e)
{
var g = e.Graphics;
var chart = e.Chart;
// dragging outline / trail
if (DraggedRect != RectangleF.Empty)
g.DrawRectangle(Pens.Red, DraggedRect);
// insertion indicator line
if (Row != int.MinValue)
{
float y = e.Chart._ChartRowToChartCoord(Row) + e.Chart.BarHeight / 2.0f;
g.DrawLine(Pens.CornflowerBlue, new PointF(0, y), new PointF(e.Chart.Width, y));
}
// tool tip
if (_mToolTipMouse != Point.Empty && _mToolTipText != string.Empty)
{
var size = g.MeasureString(_mToolTipText, chart.Font).ToSize();
var tooltiprect = new RectangleF(_mToolTipMouse, size);
tooltiprect.Offset(0, -tooltiprect.Height);
var textstart = new PointF(tooltiprect.Left, tooltiprect.Top);
tooltiprect.Inflate(5, 5);
g.FillRectangle(Brushes.LightYellow, tooltiprect);
g.DrawString(_mToolTipText, chart.Font, Brushes.Black, textstart);
}
}