2016-04-19 14 views
0

Visual Studio 2013のC#フォームアプリケーションでグラフをアニメーション化して、ボタンを押した後に線が徐々に画面に表示されるようにする方法はありますか?事前に感謝:)Visual Studio C#でグラフをアニメーション化する方法は?

+4

はい、方法はあり...これまでに何を試しましたか? – mituw16

+0

Winformsのアニメーションにはタイマーを使用します。 Winformsを使用していますか? __Always__あなたの質問に正しくタグを付けます。 – TaW

+0

私はどこから始めるべきか分からなかったので、まだ何も試していませんでした。はい、私はVisual StudioでWindowsフォームアプリケーションを使用しています。 –

答えて

1

ここでは、開始する必要があります例です。これは、最初のテストデータを作成し、それらを表示するためにTimerを使用しています..:私はそれが便利浮動小数点構造であるように、テストデータを保存するためにPointF構造を使用しています

List<PointF> data = new List<PointF>(); 
Timer timer = new Timer(); 

private void button1_Click_1(object sender, EventArgs e) 
{ 
    data.Clear(); 

    for (int i = 0; i < 400; i++) 
    { 
     float x = i/50f * (float)(Math.Cos(i/10f)); 
     float y = i/50f * (float)(Math.Sin(i/10f)); 
     data.Add(new PointF(x,y)); 
    } 

    chart1.Series.Clear(); 
    Series S1 = chart1.Series.Add("S1"); 
    Series S2 = chart1.Series.Add("S2"); 

    S2.MarkerSize = 2; 
    S2.MarkerStyle = MarkerStyle.Circle; 
    S2.Color = Color.Green; 
    S1.Color = Color.FromArgb(64, Color.Red); 
    S1.BorderWidth = 9; 

    S2.ChartType = SeriesChartType.Point; 
    S1.ChartType = SeriesChartType.Line; 
    chart1.ChartAreas[0].AxisX.Minimum = -10; 
    chart1.ChartAreas[0].AxisX.Maximum = 10; 
    chart1.ChartAreas[0].AxisY.Minimum = -10; 
    chart1.ChartAreas[0].AxisY.Maximum = 10; 
    chart1.ChartAreas[0].BackColor = Color.White; 

    timer.Interval = 15; 
    timer.Start(); 
} 

注..

これはTimer.Tickイベントです。 hook it upを忘れないでください!ここではすべてのデータを描画します。私は半透明色で線を描画することを選択した

void timer_Tick(object sender, EventArgs e) 
{ 
    Series S1 = chart1.Series[0]; 
    Series S2 = chart1.Series[1]; 
    int pointsSoFar = S1.Points.Count; 
    if (pointsSoFar < data.Count) 
    { 
     S1.Points.AddXY(data[pointsSoFar].X, data[pointsSoFar].Y); 
     S2.Points.AddXY(data[pointsSoFar].X, data[pointsSoFar].Y); 
    } 
    else 
    { 
     timer.Stop(); 
     chart1.ChartAreas[0].BackColor = Color.AntiqueWhite; 
    } 
} 

注:その後、我々はTimerを停止します。線分の強い重なりの結果を見ることは有益です!

enter image description here

そしてここ..

を結果

..the ..アニメーション..:

enter image description here

関連する問題