Share via


Control PictureBox para usuarios de Visual Basic 6.0

Actualización: noviembre 2007

El control PictureBox de Visual Basic 6.0 se ha reemplazado por el control PictureBox de formularios Windows Forms en Visual Basic 2008. Los nombres de algunas propiedades, métodos, eventos y constantes son diferentes y, en algunos casos, existen diferencias de comportamiento.

Diferencias conceptuales

PictureBox como contenedor

El control PictureBox de Visual Basic 6.0 es un control contenedor; además de utilizarse para mostrar imágenes, puede utilizarse para agrupar y mostrar otros controles.

El control PictureBox de Visual Basic 2008 no es un control contenedor; sólo se utiliza para mostrar imágenes. Puede utilizar el nuevo control Panel en lugar del control PictureBox cuando necesite un control contenedor.

AutoSize (Propiedad)

En Visual Basic 6.0, la propiedad AutoSize determina si un control PictureBox mantiene su tamaño en tiempo de diseño (AutoSize = False) o si éste se modifica dinámicamente para ajustarse a las dimensiones de la imagen (AutoSize = True).

En Visual Basic 2008, la propiedad AutoSize se ha reemplazado por la propiedad SizeMode; además de los modos Normal y AutoSize, también hay opciones disponibles para centrar, expandir o acercar y alejar la imagen.

Propiedades y métodos de gráficos

En Visual Basic 6.0, se pueden utilizar diferentes propiedades y métodos de gráficos para dibujar líneas, formas y texto sobre un control PictureBox.

En Visual Basic 2008, los controles ya no tienen propiedades ni métodos de gráficos, aunque todavía se puede dibujar sobre un control PictureBox mediante un objeto T:System.Drawing.Graphics. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0.

Otras diferencias

Existen numerosas diferencias conceptuales que se aplican a todos los controles, como diferencias en los enlaces de datos, control de fuentes, funcionalidad de arrastrar y colocar, compatibilidad con Ayuda, y otras. Para obtener más información, vea Conceptos de formularios Windows Forms para usuarios de Visual Basic 6.0.

Cambios de código para el control PictureBox

En los ejemplos siguientes se muestran las diferencias entre las técnicas de codificación de Visual Basic 6.0 y Visual Basic 2008.

El código se modifica para mostrar una imagen

El código siguiente ilustra cómo se muestra una imagen en un control PictureBox en tiempo de ejecución.

' Visual Basic 6.0
Picture1.Picture = LoadPicture(App.Path & "\somepicture.jpg")
' Visual Basic
PictureBox1.Image = System.Drawing.Bitmap.FromFile( _
  My.Application.Info.DirectoryPath & "\somepicture.jpg")

El código se modifica para borrar un control PictureBox

El código siguiente muestra cómo se borra un control PictureBox en tiempo de ejecución para que no aparezca ninguna imagen.

' Visual Basic 6.0
Picture1.Picture = LoadPicture("")
' Visual Basic
If Not (PictureBox1.Image Is Nothing) Then
    PictureBox1.Image.Dispose()
    PictureBox1.Image = Nothing
End If

El código se modifica para dibujar en un control PictureBox

El código siguiente muestra cómo se dibuja un círculo rojo de 40 píxeles de diámetro en la parte central de un control PictureBox en tiempo de ejecución.

' Visual Basic 6.0
Private Sub Picture1_Paint
    Dim x As Integer
    Dim y As Integer
    Picture1.ScaleMode = vbPixels
    x = Picture1.ScaleWidth / 2
    y = Picture1.ScaleHeight / 2
    Picture1.Circle (x, y), 20, vbRed
End Sub
' Visual Basic
Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e _
As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
    Dim radius As Integer = 20
    Dim diameter As Integer = radius * 2
    Dim x As Integer = (PictureBox1.Width / 2) - radius
    Dim y As Integer = (PictureBox1.Height / 2) - radius
    e.Graphics.DrawEllipse(Pens.Red, x, y, diameter, diameter)
End Sub

Equivalencias de propiedades, métodos y eventos del control PictureBox

En las siguientes tablas se muestran propiedades, métodos y eventos de Visual Basic 6.0, junto con sus equivalentes en Visual Basic 2008. No se enumeran aquellas propiedades, métodos y eventos que tienen el mismo nombre y el mismo comportamiento. Donde corresponde, las constantes aparecen con sangría debajo de la propiedad o método. Salvo que se indique lo contrario, todas las enumeraciones de Visual Basic 2008 se asignan al espacio de nombres System.Windows.Forms.

Esta tabla proporciona vínculos a temas en los que se explican las diferencias de comportamiento. Cuando no existe un equivalente directo en Visual Basic 2008, se proporcionan vínculos a temas en los que se incluyen alternativas.

Propiedades

Visual Basic 6.0

Equivalente en Visual Basic 2008

Align

Dock

Appearance

Nueva implementación. Para obtener más información, vea Propiedades Appearance y BorderStyle para usuarios de Visual Basic 6.0.

AutoRedraw

Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0.

AutoSize

SizeMode

BackColor

BackColor

Nota:
Los colores se administran de forma diferente en Visual Basic 2008. Para obtener más información, vea Comportamiento del color para los usuarios de Visual Basic 6.0.

BorderStyle

BorderStyle

Nota:
En Visual Basic 6.0, el valor predeterminado es Fixed Single; en Visual Basic 2008 el valor predeterminado es None.

ClipControls

Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0.

Container

Parent

CurrentX

CurrentY

Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0.

DataChanged

DataField

DataFormat

DataMember

DataSource

Nueva implementación. Para obtener más información, vea Acceso a datos para usuarios de Visual Basic 6.0.

DragIcon

DragMode

Nueva implementación. Para obtener más información, vea Arrastrar y colocar para usuarios de Visual Basic 6.0.

DrawMode

DrawStyle

DrawWidth

FillColor

FillStyle

Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0.

Font

FontBold

FontItalic

FontName

FontSize

FontStrikethrough

FontUnderline

Font

Nota:
Las fuentes se administran de forma diferente en Visual Basic 2008. Para obtener más información, vea Objeto Font para usuarios de Visual Basic 6.0.

ForeColor

ForeColor

Nota:
Los colores se administran de forma diferente en Visual Basic 2008. Para obtener más información, vea Comportamiento del color para los usuarios de Visual Basic 6.0.

HasDC

HDC

Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0.

Height

Height, Size

Nota:
Las coordenadas se administran de forma diferente en Visual Basic 2008. Para obtener más información, vea Sistema de coordenadas para usuarios de Visual Basic 6.0.

HelpContextID

Nueva implementación. Para obtener más información, vea Compatibilidad con la Ayuda para usuarios de Visual Basic 6.0.

HWnd

Handle

Image

Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0.

Nota:
En Visual Basic 2008, la propiedad Image no es una propiedad de gráficos. Es el equivalente de la propiedad Picture de Visual Basic 6.0.

Index

Nueva implementación. Para obtener más información, vea Matrices de controles para usuarios de Visual Basic 6.0.

Left

Left

Nota:
Las coordenadas se administran de forma diferente en Visual Basic 2008. Para obtener más información, vea Sistema de coordenadas para usuarios de Visual Basic 6.0.

LinkItem

LinkMode

LinkTimeOut

LinkTopic

No hay equivalente. Para obtener más información, vea Intercambio dinámico de datos para usuarios de Visual Basic 6.0.

MouseIcon

Nueva implementación. Para obtener más información, vea No se puede personalizar la propiedad MousePointer.

MousePointer

Cursor

Para obtener una lista de constantes, vea MousePointer para usuarios de Visual Basic 6.0.

OLEDragMode

OLEDropMode

Nueva implementación. Para obtener más información, vea Arrastrar y colocar para usuarios de Visual Basic 6.0.

Parent

FindForm

Picture

Image

ScaleHeight

ScaleLeft

ScaleMode

ScaleTop

ScaleWidth

Nueva implementación. Para obtener más información, vea Sistema de coordenadas para usuarios de Visual Basic 6.0.

ToolTipText

Componente ToolTip

Para obtener más información, vea Compatibilidad de la información sobre herramientas para usuarios de Visual Basic 6.0.

Top

Top

Nota:
Las coordenadas se administran de forma diferente en Visual Basic 2008. Para obtener más información, vea Sistema de coordenadas para usuarios de Visual Basic 6.0.

WhatsThisHelpID

Nueva implementación. Para obtener más información, vea Compatibilidad con la Ayuda para usuarios de Visual Basic 6.0.

Width

Width, Size

Nota:
Las coordenadas se administran de forma diferente en Visual Basic 2008. Para obtener más información, vea Sistema de coordenadas para usuarios de Visual Basic 6.0.

Métodos

Visual Basic 6.0

Equivalente en Visual Basic 2008

Circle

Cls

Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0.

Drag

Nueva implementación. Para obtener más información, vea Arrastrar y colocar para usuarios de Visual Basic 6.0.

Line

Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0.

LinkExecute

LinkPoke

LinkRequest

LinkSend

No hay equivalente. Para obtener más información, vea Intercambio dinámico de datos para usuarios de Visual Basic 6.0.

Move

SetBounds

Nota:
Las coordenadas se administran de forma diferente en Visual Basic 2008. Para obtener más información, vea Sistema de coordenadas para usuarios de Visual Basic 6.0.

OLEDrag

Nueva implementación. Para obtener más información, vea Arrastrar y colocar para usuarios de Visual Basic 6.0.

PaintPicture

Point

Print

PSet

Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0.

Scale

ScaleX

ScaleY

Nueva implementación. Para obtener más información, vea Sistema de coordenadas para usuarios de Visual Basic 6.0.

SetFocus

Focus

ShowWhatsThis

Nueva implementación. Para obtener más información, vea Compatibilidad con la Ayuda para usuarios de Visual Basic 6.0.

TextHeight

TextWidth

Nueva implementación. Para obtener más información, vea Gráficos para usuarios de Visual Basic 6.0.

ZOrder

Método BringToFront o SendToBack

Eventos

Visual Basic 6.0

Equivalente en Visual Basic 2008

Change

Nueva implementación. Hay eventos individuales (BackgroundImageChanged, SizeChanged, etc.) que se desencadenan cuando se modifican algunas propiedades.

DblClick

DoubleClick

DragDrop

DragOver

Nueva implementación. Para obtener más información, vea Arrastrar y colocar para usuarios de Visual Basic 6.0.

GotFocus

Enter

KeyDown

KeyPress

KeyUp

Nueva implementación. El control PictureBox de Visual Basic 2008 no es un control contenedor y no recibe pulsaciones de teclas.

LinkClose

LinkError

LinkNotify

LinkOpen

No hay equivalente. Para obtener más información, vea Intercambio dinámico de datos para usuarios de Visual Basic 6.0.

LostFocus

Leave

OLECompleteDrag

OLEDragDrop

OLEDragOver

OLEGiveFeedback

OLESetData

OLEStartDrag

Nueva implementación. Para obtener más información, vea Arrastrar y colocar para usuarios de Visual Basic 6.0.

Validate

Validating

Notas de actualización

Durante la actualización, los controles PictureBox que contienen otros controles se actualizan a controles Panel. En Visual Basic 6.0, los controles PictureBox se actualizan a controles Panel, y las imágenes asignadas a la propiedad Picture se asignan a la propiedad BackgroundPicture del control Panel.

Vea también

Referencia

Información general del control PictureBox (Formularios Windows Forms)