• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:.NETでチャートにスクロールバー追加方法)

.NETでチャートにスクロールバー追加方法

このQ&Aのポイント
  • 最近 .NETを勉強し始めています。Visual Studio 2010 Express(C#)を使用して、複数のグラフを表示するために、Chart Controlを使用して、実現しています。
  • 複数のグラフを表示したときに、縦にグラフを並べていこうと思っています。その際、一つのチャートの大きさは変えずに増やしていき、Chartのサイズを超えた場合は右側にスクロールバーを追加して、表示できるようにしたいと思っています。
  • 現状だと、Chartが多くなるとサイズが小さくなって、スクロールバーが出ません。イメージとしては、下記のようにしたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

Chartコントロールを パネルなどのコンテナコントロールに配置して コンテナ側の AutoScrollプロパティを Trueにします ChartAreaを追加する際に 垂直方向であれば ChartコントロールのHeightプロパティを調整してやればいい様に思います 最初に1つだけ表示していて 2個目を追加した際に大きさを同じにしたいのであれば Heightを2倍にします つまりデザイン時の大きさを加算します 最初に2個表示しておくならば Heightの1/2を加算 最初から3個の場合 Heightの1/3を加算 といった具合で … コンテナに配置する際に 幅は 垂直スクロールバーが表示された場合を考慮して 少しコンテナより狭くして 水平スクロールバーが表示されないように工夫したほうがいいでしょう

catsuya
質問者

お礼

ご回答ありがとうございます。 チャートコントロール自体には、AutoScrollプロパティがないので、 コンテナを利用してAutoScroll機能を実現するわけですね。 このようなことができるのは、 チャートコントロールはコンテナを継承しているからでしょうか? (的外れなコメントでしたらすみません) 見た目の工夫に関してもコメントありがとうございます。 ネットの情報などを参考にして、Panelなどのコンテナを利用したAutoScrollを試してみようと思います

その他の回答 (1)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

コンテナを継承しているかどうかは 関係ないと思いますよ AutoScrollはScrollableControlを継承している必要があると思います もともとのデザインされた大きさを中に表示されるもので勝手にコントロールが大きくなられては 製作者にとって迷惑な話になります コントロールの表示位置や大きさを変更することでコンテナ側のスクロールバーを使うといった具合がいいかなと思います