2011-08-14 1 views
0

フォームのクラスとは別のクラスで描画メソッドを作成しました。別のクラスのメソッドをペイントします

public class Object : Form1 
{ 
    public void Draw() 
    { 
      SolidBrush brush = new SolidBrush(Color.Yellow); 
      Graphics mapGraphics = this.CreateGraphics(); 
      mapGraphics.FillEllipse(brush, new Rectangle(0, 0, 12, 12)); 
      pacBrush.Dispose(); 
      mapGraphics.Dispose(); 
    } 
} 

例外がスローされず、エラーもありません。私はForm_PaintメソッドからDrawメソッドを呼び出そうとしましたが、何も起こりません。これをどうすれば解決できますか?

ありがとう

答えて

4

ウィンドウに描画するには、そのウィンドウのGraphicsオブジェクトを使用する必要があります。あなたのメソッドは新しいGraphicsオブジェクトを作成するので、 "どこかに"描画します。

Form_Paintハンドラにあるオブジェクトe.Graphicsをパラメータとしてメソッドに渡し、代わりにそれを使用して描画します。

+0

ありがとうございます。私はそれが簡単だと分かっていた – apophis

関連する問題