Control CommandButton para usuarios de Visual Basic 6.0

Actualización: noviembre 2007

El control CommandButton de Visual Basic 6.0 se ha reemplazado por el control Button 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

Propiedades Default y Cancel

En Visual Basic 6.0, las propiedades booleanas Default y Cancel de un control CommandButton determina si el control responde a las teclas ENTER o ESC, respectivamente.

En Visual Basic 2008, el control Button ya no tiene las propiedades Default o Cancel. El objeto Form tiene propiedades AcceptButton y CancelButton que proporcionan la misma funcionalidad; estas propiedades aceptan el nombre de un control Button como argumento.

Value (Propiedad)

En Visual Basic 6.0, la propiedad booleana Value de un control CommandButton indica si se ha elegido el control; establecer la propiedad en True invoca el evento Click del botón.

En Visual Basic 2008, el control Button ya no tiene una propiedad Value. Puede utilizar el evento GotFocus para determinar si se elige el control; el método PerformClick se puede utilizar para invocar el evento Click.

Propiedades Style, Picture, DownPicture y DisabledPicture

En Visual Basic 6.0 el establecimiento de la propiedad Style de un control CommandButton en 1 – Graphical cambia la apariencia del control para presentar imágenes. Las propiedades Picture, DownPicture y DisabledPicture se utilizan para asignar imágenes que se muestran en respuesta a cambios de estado. Por ejemplo, cuando se hace clic en un control CommandButton, se muestra la imagen DownPicture; si el control está desactivado, se muestra la imagen DisabledPicture.

Visual Basic 2008 ya no admite las propiedades Style, Picture, DownPicture o DisabledPicture. La propiedad Style ya no es necesaria; asignar una imagen a la propiedad Image tiene el mismo efecto que establecer la propiedad Style en Graphical. La propiedad Image reemplaza a la propiedad Picture. Se puede emular la funcionalidad de las propiedades DownPicture y DisabledPicture utilizando un control ImageList que contiene varias imágenes.

Propiedad MaskColor

En Visual Basic 6.0, la propiedad MaskColor de un control CommandButton se usa para definir un color que se convierte en transparente, para que se pueda ver una imagen de fondo. Para utilizar esta propiedad, la propiedad Style debe establecerse en Graphical, la propiedad UseMaskColor, en True y se debe asignar un mapa de bits a la propiedad Picture.

En Visual Basic 2008, no existe un equivalente directo para la propiedad MaskColor. Sin embargo, puede establecer la transparencia en un control mediante el método MakeTransparent de un objeto Bitmap.

Otras diferencias

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

Cambios de código para el control CommandButton

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

Cambios de código para establecer los botones Predeterminado y Cancelar

El ejemplo siguiente muestra cómo se establecen dos botones para que sean los botones Predeterminado y Cancelar.

' Visual Basic 6.0
' Set the first button to respond to the Enter key.
Command1.Default = True
' Set the second button to respond to the Esc key.
Command2.Cancel = True
' Visual Basic
' Set the first button to respond to the Enter key.
Me.AcceptButton = Button1
' Set the second button to respond to the Esc key.
Me.CancelButton = Button2

Cambios de código para agregar transparencia a un botón

El ejemplo siguiente muestra los métodos para definir un área transparente en un botón que contiene una imagen: cualquier parte de la imagen que sea blanca pasará a ser transparente.

' Visual Basic 6.0
' Assumes a picture has been assigned to the Picture property
' and that the Style property has been set to Graphical.
Command1.UseMaskColor = True
Command1.MaskColor = vbWhite
' Visual Basic
' Assumes a picture has been assigned to the BackgroundImage property.
Dim ButtonBitmap As New System.Drawing.Bitmap(Button1.BackgroundImage)
ButtonBitmap.MakeTransparent(System.Drawing.Color.White)
Button1.BackgroundImage = ButtonBitmap

Equivalencias de propiedad, método y evento de control CommandButton

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.

Estas tablas muestran vínculos a temas que explican las diferencias en el comportamiento. Cuando no hay un equivalente directo en Visual Basic 2008, se proporcionan vínculos a otras alternativas.

Propiedades

Visual Basic 6.0

Equivalente en Visual Basic 2008

Appearance

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

BackColor

BackColor

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

Cancel

CancelButton (objeto Form)

Caption

Text

Container

Parent

Default

AcceptButton (objeto Form)

DisabledPicture

DownPicture

Nueva implementación. Para obtener más información, vea Propiedad Style 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.

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.

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

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.

MaskColor

Nueva implementación. Para obtener más información, vea MaskColor 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.

OLEDropMode

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

Parent

Método FindForm

Picture

Image

RightToLeft

RightToLeft

Style

Nueva implementación. Para obtener más información, vea Propiedad Style 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.

UseMaskColor

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

Value

Nueva implementación. El método PerformClick equivale a establecer Value en True; para cualquier otro uso de la propiedad Value no hay ningún equivalente.

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

Drag

Nueva implementación. Para obtener más información, vea Arrastrar y colocar 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.

SetFocus

Focus

ShowWhatsThis

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

ZOrder

Función de BringToFront o SendToBack

Eventos

Visual Basic 6.0

Equivalente en Visual Basic 2008

DragDrop

DragOver

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

GotFocus

Enter

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.

Notas de actualización

Al actualizar a una aplicación de Visual Basic 6.0 mediante el Asistente para actualización, cualquier control CommandButton se actualiza a los controles Button de formularios Windows Forms y el código se actualiza para utilizar las propiedades, métodos y eventos equivalentes. Cuando no haya ningún equivalente o haya posibles diferencias en el comportamiento, se insertan comentarios en el código con vínculos a temas de Ayuda.

Cuando una aplicación se actualiza a Visual Basic 2008, si la propiedad Style está establecida en 1 – Graphical, la propiedad FlatStyle del control actualizado se establece en Standard y cualquier imagen asignada a la propiedad Picture en tiempo de diseño se asigna a la propiedad Image del control actualizado.

Si las propiedades DownPicture o DisabledPicture se establecieron en tiempo de diseño o de ejecución, debe modificar la aplicación actualizada para que utilice un control ImageList. Para obtener más información, consulte Cómo: Emular un control Tri-State de Visual Basic 6.0 en una aplicación actualizada.

El Asistente para actualización no actualiza ningún código que utilice la propiedad MaskColor. En su código se insertarán advertencias de actualización. Deberá modificar el código antes de ejecutar la aplicación.

Vea también

Conceptos

MaskColor para usuarios de Visual Basic 6.0