• ベストアンサー

VB2010で、チャートコントロールをクリックすると、

VB2010で、チャートコントロールをクリックすると、 その部分の色を取得することは出来ないでしょうか。 ご存知の方教えてください。よろしくお願いいたします。

  • ddtqp
  • お礼率68% (139/203)

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

  • ベストアンサー
回答No.3

過去の質問等も見ていてもどのようなグラフを描きたいのかが見えてこないが、多分下記の ような事ができればいいのかなと思いチョット試してみました。 グラフ(Chart)上に直接描画すると裏に隠れたりして再描画されると消えてしまうので 消えないようにするには、Bitmap にグラフを取得するようにするか、Chart1_Paint イベントに 書くようにすればいいかと。 1.Chart 上のクリックした位置のカラーを取得してそのカラーで円を描画   (サンプル画像は投稿用に画像を保存した時に描画した円はきえましたが) 2.上記で描画した画像を含めたChart をBitmap として取得してPictureBox 上に表示   (描画した円も消えずにコピー(転送)する事ができます。) Chart で独自の事をやりたいなら MSDN でChart のメンバー一覧をよく見ておいて下さい。 http://msdn.microsoft.com/ja-jp/library/system.windows.forms.datavisualization.charting.chart_members.aspx 又、グラフィック関係の基本位は押さえておいて下さい。 http://dobon.net/vb/dotnet/graphics/index.html

ddtqp
質問者

お礼

とてもよい回答ありがとうございます。 グラフィックの基本サイト助かります。 グラフの説明ですが、 ピクチャーボックスに描画しマウスムーブイベントで、 マウスカーソルのX座標(データ値)に対応した、Y座標(データ値)を表示するものを作りました。 円カーソルが折れ線グラフ上を移動していきます。 別の折れ線グラフをクリックすると、その折れ線グラフに円カーソルが移ります。 チャートコントロールの使い勝手がよいので、 ピクチャーボックスの代わりに使用して描画しようとしています。 あれこれ試しましたが、 ピクチャーボックスにチャートグラフをキャプチャーして貼り付け、 ピクチャーに円を描画することにしました。 現在、プロットエリア範囲の取得をいろいろと試しています。

その他の回答 (2)

回答No.2

>直接、チャートコントロールの色を取得すれば、 >同じことができるだろうと思い質問をしました。 http://msdn.microsoft.com/ja-jp/library/system.drawing.bitmap.getpixel(VS.80).aspx 後は、ご自分で調べて試して下さい。

回答No.1

>VB2010で、チャートコントロールをクリックすると、 >その部分の色を取得することは出来ないでしょうか。 出来ますけど、それを教えても次のステップを実行する事ができますか? 又、そこで質問するのですか? これだけ次から次へと質問してばかりでは、失礼ですが無理かと思いますよ。 質問するにしても何をどのようにしたいのかを具体的に書くようにしないと。 (色を取得する事だけが最終目的ではないでしょう。)

ddtqp
質問者

お礼

回答ありがとうございます。 ピクチャーボックスにグラフを描画して、 クリックして色を取得し、 選択した折れ線グラフにカーソルを移動し、 カーソル部分の座標値を表示させることができました。 直接、チャートコントロールの色を取得すれば、 同じことができるだろうと思い質問をしました。 チャートコントロールは、vbhanatyanさんが以前紹介してくださったページで、 使い勝手がよかったもので。

関連するQ&A

  • C#チャートコントロールで

    チャートコントロールで折れ線グラフを表示しています。 Mousedownやclickイベントを用いて、 クリックしたデータ点の値を取得したいと考えています。 どのようなコードを書けばいいでしょうか? わからずに困っています。 アドバイスお願いいたします。

  • VB2008、Chart Controlを使った為替データの描画につい

    VB2008、Chart Controlを使った為替データの描画について教えて頂きたいです。 PriceDownColorをレッド、PriceUpColorをイエローに設定したのですが、 全てのバーの色がイエローで表示されてしまいます。 (陰線もイエロー) また、上ヒゲがなぜか太いバーから切れていて、 下ヒゲ自体は表示すらされません。 バグでしょうか… ちなみにデータはAccess2000から取り込んでおり、 Open、High、Low、Closeのデータ型は倍精度浮動小数点型です。 Chart Controlの方の設定はAuto、Double共に試しましたがダメでした… Chart Controlを用いてこれらの問題を解決するにはどうすればよいでしょうか? 説明不足な点などありましたら補足します。 よろしくお願いします。

  • チャートコントロール(MSChart)のフォント設定

    VB6.0でチャートコントロール(MSChart)を使いグラフを描画する事が出来ました。グラフを格好良くしようと思い背景を暗めの色にした所、グラフの文字が見えにくくなったため、フォントの変更を試みました。 縦横スケールのフォントは何とか変更することが出来たのですが、凡例のフォント設定が見つかりません。 ご存知の方いらっしゃいましたらご教授頂けないでしょうか。

  • VB2010で、選択した系列を最前面に表示させたいのですが、

    VB2010で、選択した系列を最前面に表示させたいのですが、 どなたかご存知ないでしょうか? チャートコントロールに描いたグラフ線をクリックすると、 何番目の系列をクリックしたのか取得するところまでできました。 複数の折れ線グラフが重なっていて見にくいので、 クリックしたグラフを最前面に表示させたいのですが、 Seriesで順序並べ替えのようなものが見つかりません。 どなたかご存知でしたら教えてください。 よろしくお願いします。

  • VB2008でガントチャート

    VB2008でガントチャート はじめまして。 質問させていただきます。 「タイム ビュー - ActiveX - V3.0」と同じような形でチャートが作成できる フリーのツールを探しています。 調べてみたものの中々見つからないです。 もし知っている方がいたら教えていただけないでしょうか。 よろしくお願いいたします。

  • Chartコントロールを使用してのグラフ描画につい

    Chartコントロールを初めて使用します。 VB.net(VB2012)でChartコントロールを使用してグラフを描画するアプリを作っています。 X軸に稼動日  1   2   3  ・・・・ Y軸に時間   1.5  1.0  2.75 ・・・・ 上記のようなデータで折れ線グラフを描くことはできたのですが グラフはそのままで、Y軸のラベル表示を実数から時間表示に変更することは 可能でしょうか? (例 1.5→1:30、 1.0→1:00、 2.75→2:45 ・・・) Y軸のLabelSyale.Formatプロパティを設定すればいいのかなと思いましたが 上手くいきません。 分かる方いらっしゃいましたら、ご教授下さい。宜しくお願いします。

  • VBでXMLを扱えるコントロールはありますか

    VBでXMLを扱えるコントロールがあるかどうか探しています。 VBでXMLの情報を拾って表示したいのですが、それを可能とするコントロールがあるのか、あればその方法を教えていただきたいです。 また、上記に関連した書籍などがありましたら教えてください。

  • vb2008 コントロール配列

    VB6からVB2008へ移行を検討しているものです。 そこで質問なんですが、VB2008でコントロールの反復処理はどう処理すればいいのでしょうか? VB6の時はコントロール配列を使用して、ForNextで繰り返せばそれらしいことはできました。VB2008はコントロール配列がサポートされていないのでどうすればいいかわかりません。みなさんはどう反復処理を行っているのか教えていただきたいと思います。 具体的な処理として、テキストボックス1~10があり、そのテキストボックスの内容を1~10の順番で、テキストボックス11~20に格納する。以上、宜しくお願いします。

  • 右クリックをトリガーにDataGridViewを変更をしたい。 VB.net2005です

    こんにちわ。 VB.net2005で右クリックをしたDataGridViewの列を 非表示にしたいのですが、右クリックイベント?をどこから 取得したらよいのかわかりません。 そもそも、VB.net2005で右クリックを制御することは 可能でしょうか?(WIN APIを使えば可能?) どなたかご存知の方がいらっしゃいましたら どのように行ったらよいか、お手数ですがご教授ください。

  • VBなどのフォームエディタのコントロール名

    VBやVC#で、ドラッグして画像を配置するソフトを作ろうとしています。 そこで、VBやVC#のフォームエディタのコントロールを使おうと考えたのですが、コントロール名がわからず、調べられません。フォームエディタコントロールを使うような記事も見つかりません。 ご存知でしたら、コントロール名を教えてください。

専門家に質問してみよう