vbでmschartを利用してプログラムを書いています。参考資料は以下です。


http://www.kanazawa-net.ne.jp/~pmansato/net/net_mschart.htm
http://msdn.microsoft.com/en-us/library/dd456632(VS.100).aspx

上記のurlから以下を以下のタイトルの設定が紹介されているので利用するとエラーとなります。
Chart1.Titles(0).Text = "Chart Title"

次に利用すると正しいようです。
Chart1.Titles.Add("Chart Title")

使い方が違うようです。コントロールを貼り付けない場合の正しい、プロパティーへのアクセスが記述されているサイト(英語でも結構です)はありますでしょうか?

また、コントロールを貼り付けた場合のプロパティーへのアクセス方法が記載されている場合でも結構です。

上記のurlを見ると.net 4へ適用されるガイドであると書いてあり、また、3.5とも書かれているので.netのバージョンの違いなのか、それともコントロールを貼り付ける、貼り付けないでアクセスが違うのか混乱しています。

よろしくおねがいします。

回答の条件
  • 1人2回まで
  • 登録:2009/12/13 09:48:13
  • 終了:2009/12/20 09:50:02

回答(1件)

id:kn1967 No.1

kn1967回答回数2915ベストアンサー獲得回数3012009/12/13 10:52:34

ポイント60pt

>Chart1.Titles(0).Text = "Chart Title"

これがエラーとなる原因は 前回質問 question:1260620297 とほぼ同じで、

Title がまったく無い状態。つまりは(0)すらも存在しないということ。


そのため

>Chart1.Titles.Add("Chart Title")

加える(Add)という所作が必要になる。


実装(プログラミング)する際には、

オブジェクト(今回ならTitleオブジェクト)の存在をチェックして、

上記いずれの処理を行うかの判断を行う必要があります。

(IF コレクション.Count > xx Then とか、

 For eachで回したりといったような処理を見たことありません?)


これから貼り付けるという場合は、

まだオブジェクトすら存在してない訳なので、

必然的に後者(Add)になりますよね。


私だけかもしれませんが、このあたりの解説って見当たりませんね。

オブジェクト指向プログラミングの分野で探せば、

それなりのものはあると思いますが、

MS-ChartやVB特有のものではないので、混乱をきたすかもしれず、

とりあえず、上記だけにさせていただきます。


以下、解説ではないですが、

もしかしたら今後必要になるかもしれないと思うので、メモしておきますね。

Visual Basic 言語のツアー

Title プロパティ (MSChart)

id:mai_mai_mail

丁寧な解説ありがとうございます。勉強になりました。昨日からもやもやといていたものがかなり解消さrました。

コントロールの貼り付け後、タイトルを追加、その後Chart1.Titles(0).Text = "Chart Title"

をやったらエラーとなりませんでした。コントロールを追加しただけで初期化され、すべてのプロパティーが存在しているものと思っていました。

2009/12/13 11:16:22

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません