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 |
|
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 |
|
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 |
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 |
|
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 |
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 |
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 |
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 |
|
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 |
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 |
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 |
|
Picture |
|
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 |
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 |
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 |
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 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 |
|
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 |
|
DragDrop DragOver |
Nueva implementación. Para obtener más información, vea Arrastrar y colocar para usuarios de Visual Basic 6.0. |
GotFocus |
|
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 |
|
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 |
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)