voir les valeurs des points du graphique lorsque la souris est sur des points
J'ai un tableau et je veux que l'utilisateur puisse voir les valeurs lorsque le pointeur est sur le points de.
En utilisant digEmAll l'aide de la page trouver la valeur des points dans un graphique ,je pourrais écrire le code suivant:
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";
}
}
}
par le code ci-dessus,l'utilisateur peut voir les valeurs lorsque le pointeur est à proximité de une série.Mais maintenant, Comment puis-je permettre à l'utilisateur de voir les valeurs uniquement lorsque le pointeur est sur les points?
J'ai remplacé
int k = result.PointIndex;
if (k >= 0)
{
chart1.Series[0].Points[k].ToolTip = "X=#VALX, Y=#VALY";
}
au lieu de
chart1.Series[0].ToolTip = "X=#VALX, Y=#VALY";
à résoudre mon problème.Mais Il n'était pas utile.
source d'informationauteur Asma Good
Vous devez vous connecter pour publier un commentaire.
Vous devez modifier le code de cette façon:
L'idée est de vérifier si la souris est très proche du point par exemple
2
pixels autour de lui (parce que c'est vraiment rare d'être exactement sur le point) et afficher l'info-bulle dans ce cas.Voici un exemple de travail.
J'aimerais profiter de cette solution:
Ajouter des info-bulle gestionnaire d'événement:
En œuvre de gestionnaire d'événement:
Considèrent comme une meilleure option que les info-bulles...utiliser le label de la fonctionnalité de la carte de contrôle.
J'ai testé cela et je l'utilise actuellement. Il est très agréable sur les graphiques avec beaucoup de points car il montre le marqueur sur la carte.