2016-11-29 22 views
1

チャートとその内部にChartAreaがあります。ランタイム時にChartAreaのサイズを変更するには

ChartAreaのY軸またはX軸のサイズを変更したいのですが、できません。実行時にマウスでサイズを変更できるChartAreaコントロール要素が必要です。ここ

+2

[C#Chart control chartArea percentageを変更する方法](http://stackoverflow.com/questions/15423080/how-to-modify-c-sharp-chart) -control-chartarea-percentageages) –

+0

@PraveenVinny私はそう思います。私はその記事を試しましたが、それは私を助けませんでした – Bezgodov

+0

あなたが達成したいことを説明してください。確かに可能ですが、私はあなたがしたいことだけを理解していないので、何をすべきか知っています。 ChartAreaのサイズを変更する理由は、デフォルトでは、Title、Legend Labelsなどの周囲の要素のためのスペースを残しながら最大サイズを持つようにサイズが変更されます。??? – TaW

答えて

0

は、例えばつまり

私のChartAreaをリサイズIチャート(又はのChartArea)に要素のサイズを変更する必要

..

  • は、ハンドルとして可動HorizontalLineAnnotationを..addsと..
  • ChartAreas間でスライダーとしてハンドルを使用するAnnotationPositionChangingを..codes:

enter image description here

クラスレベルで定義します。

HorizontalLineAnnotation slider = new HorizontalLineAnnotation(); 

セットのそれをしてChartに追加します。

slider.AllowMoving = true; 
slider.LineWidth = 2; 
slider.LineColor = Color.DarkSlateGray; 
slider.X = 0;  
slider.Y = 50; 
slider.Width = 100; 
chart1.Annotations.Add(slider); 

これは途中で左にスライダーを設定し、それが全体渡って行くことができますがチャート。

private void chart1_AnnotationPositionChanging(object sender, 
               AnnotationPositionChangingEventArgs e) 
{ 
    if (e.Annotation == slider) 
    { 
     chart1.ChartAreas[0].Position.Height = (float)slider.Y - 4; 
     chart1.ChartAreas[1].Position.Height = (float)(100f - slider.Y) - 4; 
     chart1.ChartAreas[1].Position.Y = (float)slider.Y; 

     chart1.Update(); 
    } 
} 

これは外部のもののために4%の弛みを維持二ChartAreasリサイズ。私あなたが私ドンが、あなたにも一つだけChartAreaのサイズを変更するには、それを変更することができますもちろんTitle、あなたは4%以上のものを与える必要がトップドッキングLegendまたは大Labels ...

を持っていますなぜそれが欲しいのか分かりません。

+0

それは素晴らしいです!これは本当に効果的です。ありがとう – Bezgodov

関連する問題