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());
}
}