2016-04-15 4 views
-1
 private void DrawIt() 
     { 
      System.Drawing.Graphics graphics = this.CreateGraphics(); 
      System.Drawing.Rectangle rectangle = new System.Drawing.Rectangle(
       50, 50, 150, 150); 

      graphics.DrawRectangle(System.Drawing.Pens.Red, rectangle); 
     } 
     private void Form1_Load(object sender, EventArgs e) 
     { 
      DrawIt(); 

     } 


     private void button1_Click(object sender, EventArgs e) 
     { 
      DrawIt(); 

     } 

ボタンイベントに 'DrawIt'メソッドを配置すると動作しますが、フォームロードイベントでは、なぜですか?フォームのロードイベントで描画グラフィックスが機能しない

+1

Form_Shown()イベントにDrawIt()メソッドを追加しようとします。 – VDN

+3

CreateGraphicsを取り除き、OnPaintオーバーライドを使用します。 – LarsTech

+0

@LarsTech thats way too advance、初心者です:P – virtualmind

答えて

0

ロードイベントをペイントに変更します。 フォームを再描画する場合は、this.Refresh();を使用します。

ペイントメソッドを使用している:フォームが描画される前に

private void mForm_Paint(object sender, PaintEventArgs e) 
{ 
    e.Graphics.FillEllipse(...); 
} 
0

Loadイベントが実行されます。あなたが描くものは、フォームによって上書きされます。

フォームがロードされた後に発生するイベントからDrawItメソッドを呼び出します。

関連する問題