- ベストアンサー
VB2010で、選択した系列を最前面に表示させたいのですが、
VB2010で、選択した系列を最前面に表示させたいのですが、 どなたかご存知ないでしょうか? チャートコントロールに描いたグラフ線をクリックすると、 何番目の系列をクリックしたのか取得するところまでできました。 複数の折れ線グラフが重なっていて見にくいので、 クリックしたグラフを最前面に表示させたいのですが、 Seriesで順序並べ替えのようなものが見つかりません。 どなたかご存知でしたら教えてください。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
私のサンプルを見て試したのなら下記の部分は何をしているのか解るはずですよね。 For i As Integer = 1 To colums Dim columnName As String = ds.Tables(0).Columns(i).ColumnName.ToString() それを下記のようにして順番を入れ替えてやれば言いだけの事では ↓ Dim columnName As String = ds.Tables(0).Columns(N(i)).ColumnName.ToString() 但し、仕様によっては、他のところも同様に入れ替える必要があるのでこの辺の基本的なところを 理解していないと応用できないし、実際に自分で試さないといつまでたっても理解もできないかと。
その他の回答 (2)
- vbhanatyan
- ベストアンサー率79% (70/88)
>Series(3).順序=1 >のようなコードがないものかと思い、投稿したのですが。 試してもいなければ、理解もしていないので上記のような質問がでてくるのです。 そもそも、どのようにして Series() にデータを代入しているのか? それこそも理解していないのでは? 理解していれば、順番を変更するくらいたいしたコードを書く必要もないはずですが 少なくても私は、貴方と違って自分で試して確認してから回答しております。
お礼
回答ありがとうございます。 おー、いつもの誹謗中傷ですね。 MSchartだとSeries(3).order=-1のようなものがあったとおもいますが、 そういったものがないのか質問をした次第です。 全ての系列を再描画するのは、力技の気がしたのでこういった質問をしております。 3度目の記述になりますが、あなたから紹介していただいたところは全て試しました。 if文で最前面に表示する系列を最後に描画実行するようにしてコードは組みました。 というか、ピクチャーボックスで同じ機能のグラフを作ったのですが、 あなたが勧めるくださったChartコントロールで再び同じ機能のグラフを作成しました。 >それこそも理解していないのでは >少なくても私は、貴方と違って自分で試して確認してから回答しております。 前回のコメントで自分で確認したと記述しております。 毎回こちらのコメントは読まれていないのでしょうか?
- vbhanatyan
- ベストアンサー率79% (70/88)
>クリックしたグラフを最前面に表示させたいのですが、 >Seriesで順序並べ替えのようなものが見つかりません。 見つからないのなら、ご自分で入れ替えればいいのでは?。 データーが4行で、クリックした系列が、2行目のデータなら、2行目のデータを Series(3) に設定し、4行のデータをSeries(1) に設定すれば、Series(3)(2行目のデータ) が 最前面に表示されますよね。 グラフの表示設定の基本的な事が解っていれば難しい事をしなくてもできるはずですが。 もっとも今までの質問の経緯を見ていると、その辺の理解ができていないので無理かもしれませんが。
お礼
回答ありがとうございます。 前にも書きましたが、VBhanachanさんの紹介してくれたところは全部試しました。 上記の並べ替えは、いらない系列を削除したり、データの並べ替えで役立たせていただきました。 Series(3).順序=1 のようなコードがないものかと思い、投稿したのですが。 見当たらないのでやっぱりないんでしょうかね?
お礼
いつも回答ありがとうございます。 >前にも書きましたが、VBhanachanさんの紹介してくれたところは全部試しました。 >上記の並べ替えは、いらない系列を削除したり、データの並べ替えで役立たせていただきました。 私のコメントを読んでおられないとおもいますので、再度上記に貼り付けておきます。 おそらく、Series(3)を最前面に移動のようなコードはないと言いたいのでしょう。 いままでどおり、最前面に表示したいものは最後にコードを実行するようにして、再描画いたします。