Compartir a través de


Crear un objeto Graphics

Para dibujar gráficos en cualquier dispositivo de presentación, es necesario un objeto Graphics. Los objetos Graphics están asociados a una superficie de dibujo, normalmente el área de cliente de un objeto Form. Utilice una de las técnicas siguientes para dibujar un objeto Graphics en un objeto Form.

Utilizar el método CreateGraphics

Utilice el método Form.CreateGraphics para crear un objeto Graphics que se dibuje en un objeto Form.

En el ejemplo siguiente se crea una subclase de la clase Form, se llama a su método CreateGraphics y se utiliza el objeto Graphics resultante para dibujar un rectángulo en el área de cliente del formulario:

Imports System
Imports System.Windows.Forms
Imports System.Drawing

'Create a Class that inherits from System.Windows.Forms.Form. 
Class myForm 
   Inherits Form 
   
   'Override myForm's OnClick event. 
   Protected Overrides Sub OnClick(ByVal e As EventArgs) 

      'Use the CreateGraphics method to create a Graphics object. 
       Dim formGraphics As Graphics
       formGraphics = Me.CreateGraphics

      'Create a red brush. 
      Dim redBrush As new SolidBrush(Color.Red)

      'Draw a rectangle on the form. 
      formGraphics.FillRectangle(redBrush, 0, 0, 100, 100)
   End Sub 'OnClick

   Public Shared Sub Main() 
      Application.Run(new myForm())
   End Sub 'Main

End Class

[C#]
using System;
using System.Windows.Forms;
using System.Drawing;

//Create a Class that inherits from System.Windows.Forms.Form. 
class myForm : Form {
   
   //Override myForm's OnClick event. 
  protected override void OnClick(EventArgs e) {

      //Use the CreateGraphics method to create a Graphics object. 
      Graphics formGraphics = this.CreateGraphics();

      //Create a red brush. 
      SolidBrush redBrush = new SolidBrush(Color.Red);

      //Draw a rectangle on the form. 
      formGraphics.FillRectangle(redBrush, 0, 0, 100, 100);
   }

   public static void Main() {
      Application.Run(new myForm());
   }
}

Reemplazar el controlador de eventos OnPaint

El método OnPaint de una clase Form recibe un objeto PaintEventArgs como parámetro. Uno de los miembros de este objeto es un objeto Graphics asociado al formulario.

En el ejemplo siguiente se reemplaza el método OnPaint de una clase Form y se utiliza el objeto Graphics de su parámetro PaintEventArgs para dibujar un rectángulo en el área de cliente del formulario:

Imports System.Windows.Forms
Imports System.Drawing

'Create a Class that inherits from System.Windows.Forms.Form. 
Class myForm 
   Inherits Form 
   
   'Override myForm's OnPaint event handler. 
   Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs) 

      'Use the Graphics object from the PaintEventArgs object. 
       Dim formGraphics As Graphics
       formGraphics = e.Graphics

      'Create a red brush. 
      Dim redBrush As new SolidBrush(Color.Red)

      'Draw a rectangle on the form. 
      formGraphics.FillRectangle(redBrush, 0, 0, 100, 100)
   End Sub 'OnClick

   Public Shared Sub Main() 
      Application.Run(new myForm())
   End Sub 'Main

End Class

[C#]
using System;
using System.Windows.Forms;
using System.Drawing;

//Create a Class that inherits from System.Windows.Forms.Form. 
class myForm : Form {
   
   //Override myForm's OnPaint event. 
  protected override void OnPaint(PaintEventArgs e) {

      //Get the Graphics object from the PaintEventArgs object. 
      Graphics formGraphics = e.CreateGraphics();

      //Create a red brush. 
      SolidBrush redBrush = new SolidBrush(Color.Red);

      //Draw a rectangle on the form. 
      formGraphics.FillRectangle(redBrush, 0, 0, 100, 100);
   }

   public static void Main() {
      Application.Run(new myForm());
   }
}