Leer en inglés

Compartir a través de


Control.Invalidate Método

Definición

Invalida una región específica del control y hace que se envíe un mensaje de dibujo al control.

Sobrecargas

Invalidate(Region, Boolean)

Invalida la región especificada del control (agrega esta región a la región de actualización del control, que es el área que volverá a pintarse en la siguiente operación de dibujo) y hace que se envíe un mensaje de dibujo al control. También puede invalidar los controles secundarios asignados al control.

Invalidate(Rectangle, Boolean)

Invalida la región especificada del control (agrega esta región a la región de actualización del control, que es el área que volverá a pintarse en la siguiente operación de dibujo) y hace que se envíe un mensaje de dibujo al control. También puede invalidar los controles secundarios asignados al control.

Invalidate(Region)

Invalida la región especificada del control (agrega esta región a la región de actualización del control, que es el área que volverá a pintarse en la siguiente operación de dibujo) y hace que se envíe un mensaje de dibujo al control.

Invalidate(Boolean)

Invalida una región específica del control y hace que se envíe un mensaje de dibujo al control. También puede invalidar los controles secundarios asignados al control.

Invalidate()

Invalida toda la superficie del control y hace que se vuelva a dibujar el control.

Invalidate(Rectangle)

Invalida la región especificada del control (agrega esta región a la región de actualización del control, que es el área que volverá a pintarse en la siguiente operación de dibujo) y hace que se envíe un mensaje de dibujo al control.

Invalidate(Region, Boolean)

Invalida la región especificada del control (agrega esta región a la región de actualización del control, que es el área que volverá a pintarse en la siguiente operación de dibujo) y hace que se envíe un mensaje de dibujo al control. También puede invalidar los controles secundarios asignados al control.

C#
public void Invalidate (System.Drawing.Region region, bool invalidateChildren);
C#
public void Invalidate (System.Drawing.Region? region, bool invalidateChildren);

Parámetros

region
Region

Region que se va a invalidar.

invalidateChildren
Boolean

Es true para invalidar los controles secundarios del control; en caso contrario, es false.

Comentarios

Llamar al Invalidate método no fuerza una pintura sincrónica; para forzar una pintura sincrónica, llame al Update método después de llamar al Invalidate método . Cuando se llama a este método sin parámetros, se agrega todo el área de cliente a la región de actualización.

Consulte también

Se aplica a

.NET Framework 4.8.1 y otras versiones
Producto Versiones
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Invalidate(Rectangle, Boolean)

Invalida la región especificada del control (agrega esta región a la región de actualización del control, que es el área que volverá a pintarse en la siguiente operación de dibujo) y hace que se envíe un mensaje de dibujo al control. También puede invalidar los controles secundarios asignados al control.

C#
public void Invalidate (System.Drawing.Rectangle rc, bool invalidateChildren);

Parámetros

rc
Rectangle

Rectangle que representa la región que se va a invalidar.

invalidateChildren
Boolean

Es true para invalidar los controles secundarios del control; en caso contrario, es false.

Comentarios

Llamar al Invalidate método no fuerza una pintura sincrónica; para forzar una pintura sincrónica, llame al Update método después de llamar al Invalidate método . Cuando se llama a este método sin parámetros, se agrega todo el área de cliente a la región de actualización.

Consulte también

Se aplica a

.NET Framework 4.8.1 y otras versiones
Producto Versiones
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Invalidate(Region)

Invalida la región especificada del control (agrega esta región a la región de actualización del control, que es el área que volverá a pintarse en la siguiente operación de dibujo) y hace que se envíe un mensaje de dibujo al control.

C#
public void Invalidate (System.Drawing.Region region);
C#
public void Invalidate (System.Drawing.Region? region);

Parámetros

region
Region

Region que se va a invalidar.

Comentarios

Llamar al Invalidate método no fuerza una pintura sincrónica; para forzar una pintura sincrónica, llame al Update método después de llamar al Invalidate método . Cuando se llama a este método sin parámetros, se agrega todo el área de cliente a la región de actualización.

Consulte también

Se aplica a

.NET Framework 4.8.1 y otras versiones
Producto Versiones
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Invalidate(Boolean)

Invalida una región específica del control y hace que se envíe un mensaje de dibujo al control. También puede invalidar los controles secundarios asignados al control.

C#
public void Invalidate (bool invalidateChildren);

Parámetros

invalidateChildren
Boolean

Es true para invalidar los controles secundarios del control; en caso contrario, es false.

Comentarios

Llamar al Invalidate método no fuerza una pintura sincrónica; para forzar una pintura sincrónica, llame al Update método después de llamar al Invalidate método . Cuando se llama a este método sin parámetros, se agrega todo el área de cliente a la región de actualización.

Consulte también

Se aplica a

.NET Framework 4.8.1 y otras versiones
Producto Versiones
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Invalidate()

Invalida toda la superficie del control y hace que se vuelva a dibujar el control.

C#
public void Invalidate ();

Ejemplos

El ejemplo de código siguiente permite al usuario arrastrar una imagen o un archivo de imagen al formulario y mostrarlo en el punto en el que se coloca. El OnPaint método se invalida para volver a pintar la imagen cada vez que se pinta el formulario; de lo contrario, la imagen solo persistiría hasta que se vuelva a pintar la siguiente. El DragEnter método de control de eventos determina el tipo de datos que se arrastran al formulario y proporciona los comentarios adecuados. El DragDrop método de control de eventos muestra la imagen en el formulario, si se puede crear a Image partir de los datos. Dado que los DragEventArgs.X valores y DragEventArgs.Y son coordenadas de pantalla, en el ejemplo se usa el PointToClient método para convertirlos en coordenadas de cliente.

C#
private Image picture;
private Point pictureLocation;

public Form1()
{
   // Enable drag-and-drop operations and 
   // add handlers for DragEnter and DragDrop.
   this.AllowDrop = true;
   this.DragDrop += new DragEventHandler(this.Form1_DragDrop);
   this.DragEnter += new DragEventHandler(this.Form1_DragEnter);
}

protected override void OnPaint(PaintEventArgs e)
{
   // If there is an image and it has a location, 
   // paint it when the Form is repainted.
   base.OnPaint(e);
   if(this.picture != null && this.pictureLocation != Point.Empty)
   {
      e.Graphics.DrawImage(this.picture, this.pictureLocation);
   }
}

private void Form1_DragDrop(object sender, DragEventArgs e)
{
   // Handle FileDrop data.
   if(e.Data.GetDataPresent(DataFormats.FileDrop) )
   {
      // Assign the file names to a string array, in 
      // case the user has selected multiple files.
      string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
      try
      {
         // Assign the first image to the picture variable.
         this.picture = Image.FromFile(files[0]);
         // Set the picture location equal to the drop point.
         this.pictureLocation = this.PointToClient(new Point(e.X, e.Y) );
      }
      catch(Exception ex)
      {
         MessageBox.Show(ex.Message);
         return;
      }
   }

   // Handle Bitmap data.
   if(e.Data.GetDataPresent(DataFormats.Bitmap) )
   {
      try
      {
         // Create an Image and assign it to the picture variable.
         this.picture = (Image)e.Data.GetData(DataFormats.Bitmap);
         // Set the picture location equal to the drop point.
         this.pictureLocation = this.PointToClient(new Point(e.X, e.Y) );
      }
      catch(Exception ex)
      {
         MessageBox.Show(ex.Message);
         return;
      }
   }
   // Force the form to be redrawn with the image.
   this.Invalidate();
}

private void Form1_DragEnter(object sender, DragEventArgs e)
{
   // If the data is a file or a bitmap, display the copy cursor.
   if (e.Data.GetDataPresent(DataFormats.Bitmap) || 
      e.Data.GetDataPresent(DataFormats.FileDrop) ) 
   {
      e.Effect = DragDropEffects.Copy;
   }
   else
   {
      e.Effect = DragDropEffects.None;
   }
}

Comentarios

Llamar al Invalidate método no fuerza una pintura sincrónica; para forzar una pintura sincrónica, llame al Update método después de llamar al Invalidate método . Cuando se llama a este método sin parámetros, se agrega todo el área de cliente a la región de actualización.

Consulte también

Se aplica a

.NET Framework 4.8.1 y otras versiones
Producto Versiones
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Invalidate(Rectangle)

Invalida la región especificada del control (agrega esta región a la región de actualización del control, que es el área que volverá a pintarse en la siguiente operación de dibujo) y hace que se envíe un mensaje de dibujo al control.

C#
public void Invalidate (System.Drawing.Rectangle rc);

Parámetros

rc
Rectangle

Rectangle que representa la región que se va a invalidar.

Comentarios

Llamar al Invalidate método no fuerza una pintura sincrónica; para forzar una pintura sincrónica, llame al Update método después de llamar al Invalidate método . Cuando se llama a este método sin parámetros, se agrega todo el área de cliente a la región de actualización.

Consulte también

Se aplica a

.NET Framework 4.8.1 y otras versiones
Producto Versiones
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9