2010-02-17 5 views
3

J'utilise MS Chart avec C# et j'ai des problèmes quand j'essaie de récupérer presque toutes les valeurs méta du tableau, tout ce que je reçois est NaN. Quelques exemples ...MS Chart et NaN

void chart_CursorPositionChanged(object sender, CursorEventArgs e) 
{ 
      double selectStart = e.NewSelectionStart; 
      double selectEnd = e.NewSelectionEnd; 
} 

e.NewSelectionStart and e.NewSelectionEnd both show NaN for their values. 

Un autre exemple ...

chart.ChartAreas[0].AxisX.Maximum 

est également NaN. Cependant, si je le mets à une valeur, le graphique le reflète correctement. Des idées de ce que je fais mal?

+0

S'il vous plaît apprendre le balisage correct pour formater votre code correctement. – spender

Répondre

1

Il semble que vous ne puissiez pas initialiser correctement chart.ChartAreas[0]: Avez-vous défini Cursor.IsUserSelectionEnabled sur true?

chart.ChartAreas[0].CursorX.IsSelectionEnabled = true; 

Si vous n'avez pas activé la sélection d'utilisateur, l'événement se déclenche quand même quand un utilisateur clique et déplace la souris, mais une sélection ne se produira pas.

Quant à

chart.ChartAreas[0].AxisX.Maximum == Double.NaN 

Cela signifie que le tableau va gérer la marge elle-même.

0

Au lieu d'utiliser les données fournies par CursorEventArgs comme vous êtes, faites ceci:

void chart_CursorPositionChanged(object sender, CursorEventArgs e) 
{ 
      double selectStart = chart.ChartAreas["ChartArea1"].CursorX.SelectionStart; 
      double selectEnd = chart.ChartAreas["ChartArea1"].CursorX.SelectionEnd; 

} 

j'ai vécu le même problème que vous aujourd'hui, et cela a résolu le problème pour moi. Je ne sais pas pourquoi les données CursorEventArg renvoie un NaN si