C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 31 を表示中)
■14361 / )  Re[9]: パネル内の座標値、そして座標値の範囲を設定する
□投稿者/ Tetsu (10回)-(2008/02/16(Sat) 00:23:16)
Tetsu さんの Web サイト
魔界の仮面弁士さん

ご返答ありがとうございます。

> 最初は、
>  float xOne = 50.01f;
> であった変数が、Paint イベントを処理するたびに、
>  xOne += 200f;
> が繰り返されるからでしょう。
> 再描画が発生するたびに、描画先の座標が変わってしまっていますよね。

そうですか。では、このforループを使用している以上、再描画をしても私がやりたいことは達成できない、ということでしょうか。
どうしてもforループは私のこのコードには必要なのです。
実際ににやりたいことは、

xOne += 200f;

というように始めの座標をどんどん変えていくのではなく、データベースから読んできたx,y座標を一つずつ使って折れ線を描くのですが、
やはりその場合も魔界の仮面弁士さんがおっしゃっているように「再描画が発生するたびに、描画先の座標が変わってしまっています」から、このままでは不可能なのでしょうか。
もしこのままの手法でスクロールした後の再描画が困難な場合は、

・Bitmapとして表示をするか(やじゅさんのコメントより)

あるいは、

・描画する前に座標を変換し、パネルの中に全ての座標が収まるようにし、スクロールが必要ないようにする

という2つの方法のどちらかが有効ではないかと思うのですが、いかがでしょうか。


> あと、Pen を解放し忘れています。

了解しました。こちらについてはすぐにやってみます。
本当にありがとうございます。

返信 編集キー/


管理者用

- Child Tree -