Ho un grafico e voglio che l'utente veda i valori quando il puntatore si trova sui punti. Utilizzando l'aiuto di digEmAll nella pagina finding the value of the points in a chart, potrei scrivere il seguente codice:vedere i valori dei punti del grafico quando il mouse è sui punti
Point? prevPosition = null;
ToolTip tooltip = new ToolTip();
void chart1_MouseMove(object sender, MouseEventArgs e)
{
var pos = e.Location;
if (prevPosition.HasValue && pos == prevPosition.Value)
return;
tooltip.RemoveAll();
prevPosition = pos;
var results = chart1.HitTest(pos.X, pos.Y, false, ChartElementType.PlottingArea);
foreach (var result in results)
{
if (result.ChartElementType == ChartElementType.PlottingArea)
{
chart1.Series[0].ToolTip = "X=#VALX, Y=#VALY";
}
}
}
dal codice di cui sopra, l'utente può visualizzare i valori quando il puntatore è vicino alla un series.But ora Come può Lascio che l'utente veda i valori solo quando il puntatore è su i punti? Ho sostituito
int k = result.PointIndex;
if (k >= 0)
{
chart1.Series[0].Points[k].ToolTip = "X=#VALX, Y=#VALY";
}
invece di
chart1.Series[0].ToolTip = "X=#VALX, Y=#VALY";
per risolvere il mio problem.but Non è stato utile.
perfetto lavoro per l'asse principale. Ma la condizione '(Math.Abs (pos.X - pointXPixel) <2 && Math.Abs (pos.Y - pointYPixel) <2)' fallisce per le serie di assi secondari. –
@RameshDurai: sì corretto, questo codice considera solo l'asse primario. – digEmAll