2016-07-19 7 views
0

私はVisual StudioでWindowsフォームのグラフを使用しています。グラフ領域を指定すると、軸から与えられた最大値または最小値(軸の引数に応じてXValueまたはYvalue)が返されますそのチャートエリアのポイント。 2番目の引数にAxisName列挙を使用したいが、通常通り、msdnの公式documentationは私をカバーしていない。列挙型の名前はChartAreaクラスのAxes()プロパティのインデックスを表しますか、それともAxisオブジェクトへの直接リンクですか?クラス(DataVisualisation.Chartsを継承しています)で列挙型を宣言する必要がありますか、それとも既に知られていますか? plsは私を助けてWindows.Forms.ChartsでAxisName列挙体はどのように機能しますか?

Public Function getAxisMinimum(ByVal area As AreaEnum, ByVal axe As AxisName) As Double 
    Dim min As Double = Double.NaN 
    For Each ser As Series In Series 
    If ser.ChartArea = ChartAreas(area).Name And ser.Points.Count > 0 Then 
     For Each p As DataPoint In ser.Points 
      'compare X or Y values depending on the axe argument to set the min 
     Next 
    End If 
    Next 
    'If there are no points in any series in the area, it will return NaN 
    Return min 

エンド機能

AreaEnumは、それぞれの名前に対応のChartArea()プロパティのインデックスを表す整数列挙です。

私はちょうど

+0

してください[編集]ここに意味のあるコードと問題の説明を追加します。 あなたの問題を で示している[最小、完全、検証可能な例](http:// $ SITEURL $/help/mcve)を投稿すると、より良い回答が得られます。ありがとう! – Panda

+0

^done まだ、私はこれがどのように役立つかわかりません、私の質問は一般的なものです。 – SouvlakiViking

答えて

0

ネヴァーマインドAxisName列挙型を使用する方法についての説明が必要、私のポイントの値を比較する方法や、それらを返す方法に関して、解決策を必要としない、私はそれを解決したと思います。 Visual Studioの自動補完機能は、AxisName列挙を認識してselect文で私を修正したため、私に答えてくれました。私はこれがうまくいくと思う:

Public Function getAxisMinimum(ByVal area As AreaEnum, ByVal axe As AxisName) As Double 
    Dim min As Double = Double.NaN 
    For Each ser As Series In Series 
    If ser.ChartArea = ChartAreas(area).Name AndAlso ser.Points.Count > 0 Then 
     For Each p As DataPoint In ser.Points 
      Select Case axe 
       Case AxisName.X 
       If Double.IsNaN(min) OrElse p.XValue < min Then 
        min = p.XValue 
       End If 
       Case AxisName.Y 
       For Each Yval As Double In p.YValues 
        If Double.IsNaN(min) OrElse Yval < min Then 
         min = Yval 
        End If 
       Next 
       Case Else 
       ' Not an acceptable AxisName 
       Return Double.NaN 
      End Select 
     Next 
    End If 
    Next 
    'If there are no points in any series in the area, it will return NaN 
    Return min 

エンド機能

関連する問題