投稿者 H_K  (社会人) 投稿日時 2009/9/14 04:46:32
mitchinさん、貴重な時間をさいてサンプルプログラムを提供していただき、ありがとうごさいます。
初級講座の内容をかなり超えている部分があるみたいで、まだ理解できているとは言い難いですが、これから少しずつ調べてみます。人の書いたコードを見るのはものすごく勉強になります。

ただその、質問の仕方が悪かったのですが、AutoGraphicsは使用せず、PictureBox1_PaintメソッドでMydice.Draw(e.Graphics)とだけ記述して他のイベントプロシージャからはDiceクラスの目を設定して PictureBox1.Invalidate()とやろうと思ったんです。
Drawメソッドにe.Graphicsを渡しているので、目を描画する処理はDrawメソッドに書かなきゃいけないのはわかるのですが、目を設定するメソッドを作ったらeは渡せないし、あれぇ?というそんなレベルだったのです。

八王子5517さん、この場合は純粋に学習のためのプログラムで、処理速度はあまり重要ではないのです。
それに単純な丸と四角を描くだけなので、先にやった方法で、3つのサイコロをランダムに目を変えながら順番に止まっていく、みたいな処理くらいでは遅くて困ると言う感じではありませんでした。
しかしながら、そういう観点からの発想は全くなかったので、貴重な意見として伺っておきます。ありがとうございました。
そもそも、 PictureBox1.Invalidate()を、オセロを見るまで知らなかったのでペイントの中に書くという発想自体がありませんでした。
もしそうやるとすると、他のプロシージャからはグローバル変数に出目とかをセットしてペイントの中で分岐していけばいいわけですか。

と、書いていて気づきましたが、クラス側のグローバル変数を使えば同じ事ができるのかも。mitchinさんのサンプルを参考(マネとも言う)にしながらいろいろといじくってみます。
お二人ともありがとうございました。