掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ラベル配列の再描画方法 (ID:143507)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> パネルの上にプログラムからラベルの配列を設定して glG_Fuel() というのが「Label の配列」なのだとしたら、 「Panel の上」ではなく「PictureBox の上」に 配置されているように見えます。 しかしグラフ表示なら、Label のサイズで表現するよりも、 Grapchis クラスに描画処理を記述するか、あるいは グラフ描画のための Chart コントロールを使った方が良い気がします。 > Dim j As Integer j += 9 な処理が組み込まれていますが、一度も使われていないような…? > glG_Fuel(i).size = New Size(6, myBuff) glG_Fuel(i) のインスタンスは、どのタイミングで生成されていますか? あらかじめ(Form の Load などで)生成されているものを 使い回しているのだとしたら、AutoSize 指定や Controls.Add は 最初の一回だけで良く、何度もやりなおす必要は無いはずです。 それとも WriteGrif_cls 等で、 毎回、glG_Fuel(i) = New Label() などとして 新規に作り直しているのでしょうか。 だとしたら、それ以前に表示していた Label を PictureBox 上から取り除いた上で、Dispose していますか? 古い物を取り除かない場合は、処理を繰り返すたびに どんどん、Label の数が増える事になりますよね。 > データーを更新させても反映されません、 ・データ更新後に、グラフ描画処理が呼ばれているかどうか、確認されましたか? ・PictureBox1.Controls.Count で返されるコントロール数は、想定どおりですか? ・Label の座標やサイズは想定どおりですか? ・同じ座標に複数の Label が重なっていませんか? 重なって良いのなら、 そのうちのどちらが手前になるべきか、正しく管理されていますか? ・イベント処理(Button の Click など)の中に、長いループ処理を 記述していないでしょうか。処理がアイドル状態にならないと、 コントロールの操作結果は画面に反映されませんので、多くの場合、 操作結果が表示されるのは、イベント処理が End Sub を通過した後です。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.