Tôi có biểu đồ và tôi muốn người dùng xem các giá trị khi con trỏ nằm trên các điểm. Bằng cách sử dụng sự giúp đỡ của digEmAll trong trang finding the value of the points in a chart, tôi có thể viết đoạn mã sau:xem giá trị của các điểm biểu đồ khi chuột ở trên các điểm
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";
}
}
}
bằng đoạn mã trên, người dùng có thể nhìn thấy các giá trị khi con trỏ là gần một series.But nay thế nào có thể Tôi cho phép người dùng xem các giá trị chỉ khi con trỏ là trên các điểm? tôi thay
int k = result.PointIndex;
if (k >= 0)
{
chart1.Series[0].Points[k].ToolTip = "X=#VALX, Y=#VALY";
}
thay vì
chart1.Series[0].ToolTip = "X=#VALX, Y=#VALY";
để giải quyết tôi problem.But Nó không hữu ích.
Làm việc một cách hoàn hảo cho trục chính. Nhưng điều kiện '(Math.Abs (pos.X - pointXPixel) <2 && Math.Abs (pos.Y - pointYPixel) <2)' không thành công cho chuỗi trục thứ cấp. –
@RameshDurai: đúng, mã này chỉ xem xét trục chính. – digEmAll