DOBON.NET DOBON.NETプログラミング掲示板過去ログ

直線の描画

  • 題名: 直線の描画
  • 著者: かねこ
  • 日時: 2005/09/08 23:53:06
  • ID: 12696
  • この記事の返信元:
    • (なし)
  • この記事への返信:
  • ツリーを表示
環境/言語:[c# .NET Framework2.0 Beta2]
分類:[.NET]

c# 2005Beta2でpictureBox1に直線を描画しようとしても表示されません。
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
  Graphics g = pictureBox1.CreateGraphics(); //取得できない?
g.DrawLine(Pens.Black, 10, 10, 200, 100);
}
わかる方がいらっしゃいましたら、教えていただけないでしょうか?
  • 題名: Re[1]: 直線の描画
  • 著者: よねKEN
  • 日時: 2005/09/09 0:40:53
  • ID: 12697
  • この記事の返信元:
  • この記事への返信:
  • ツリーを表示
e.Graphicsを使えばよいのでは??
早速、回答をいただき、ありがとうございました。

> e.Graphicsを使えばよいのでは??
おっしゃるとおり、e.Graphicsを使うと表示できるのですが、
こちらのHPのTipsに書かれているとおり、打ち込んでみたのですが
表示されませんでした。
なぜなんでしょうか?
>>e.Graphicsを使えばよいのでは??
> おっしゃるとおり、e.Graphicsを使うと表示できるのですが、
> こちらのHPのTipsに書かれているとおり、打ち込んでみたのですが
> 表示されませんでした。
> なぜなんでしょうか?

Paintイベントに記述しているから、でしょうね。

Paintイベントはそのコントロールが他のウィンドウなどに隠れて
再描画が必要なときに発生します。
再描画が必要になったので、描画すべき情報をくれ!というメッセージが
来ているわけですが、e.Graphicsに対して何も指示していないので、
暗に「何も描画するな!」と命令しているのと同じだと思います。

CreateGraphicsで取得したGraphicsオブジェクトで描画の指示をしても、
e.Graphicsに対する指示がない=描画するな!
なので何も描画されないのだと思います。
  • 題名: Re[4]: 直線の描画
  • 著者: かねこ
  • 日時: 2005/09/10 9:32:52
  • ID: 12723
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
> CreateGraphicsで取得したGraphicsオブジェクトで描画の指示をしても、
> e.Graphicsに対する指示がない=描画するな!
> なので何も描画されないのだと思います。

よねKEN様
完全ではありませんが、理解することができました。
2度にわたり、回答をいただきまして、ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板