2012-05-12 4 views
1

グラフを返す関数を作成しようとしています。私は複数のシリーズを必要とする可能性がある時間を考慮するパラメータを持っています。 1つのループで複数のシリーズを作成するにはどうすればよいですか?私はあなたが各シリーズの変数を必要とすると思います。この機能は以下の通りです。私は、 "Dataseries"変数のそれぞれが自分の名前を持つべき5つのシリーズがあると思うでしょう。インデックスでのみ参照しますか?グラフコントロールで複数の系列を作成するループ

Public Shared Function MakeChart(ByVal form As Form, Optional ByVal numseries As Integer = 0) As Chart 

    ' Add any initialization after the InitializeComponent() call. 
    Dim SampleChart As Chart = New Chart() 
    Dim MainChartArea As ChartArea = New ChartArea() 
    Dim ChartLegend As Legend = New Legend() 
    Dim Dataseries As Series = New Series() 
    Dim seriesname As String = "" 

    'add additonal series if the parameter exists 
    If numseries > 0 Then 
     For i As Integer = 0 To numseries - 1 
      seriesname = "Series" & Convert.ToString(i) 
      Dataseries = SampleChart.Series.Add(i) 
      Dataseries.Name = seriesname 
     Next 
    Else 
     DataSeries = SampleChart.Series.Add("Series1") 
     Dataseries.Name = "Series1" 
    End If 
    form.Controls.Add(SampleChart) 

    SampleChart.ChartAreas.Add(MainChartArea) 
    SampleChart.Legends.Add(ChartLegend) 
    SampleChart.Dock = DockStyle.Fill 
    SampleChart.TabIndex = 0 
    Return SampleChart 
End Function 

答えて

0

インデックスまたは文字列なので、はい、あなたは名前でシリーズを参照することができます。しかし

MessageBox.Show("First Series is " & SampleChart.Series(0).Name) 

または

MessageBox.Show("First Series is " & SampleChart.Series("Series0").Name) 

注:文字列が見つからない場合は、制御がArgumentExceptionエラーをスローします。

関連する問題