Controles de Visual Basic
Control Label.
Uso o Aplicación:
El control Label o Etiqueta es un simple control que se utiliza para mostrar texto, descripciones, información para el programa.
Prefijo para la propiedad name:
lbl.
Propiedades:
Propiedad Caption
La propiedad Caption es la más importante, y es la que se utiliza para establecer el texto que mostrará el control Label. Por ejemplo para mostrar el texto "Hola" agrega un label al formulario, coloca un Botón, haz doble clic en el mismo, escribe Label1 y presiona el ".", Visual Basic te desplegará la lista de propiedades y métodos del Label1.
Propiedad Autosize
Si la propiedad Autosize del control se encuentra en True, las dimensiones del Label (ancho y alto) se ajustarán al largo y alto del texto que muestre. En cambio sí se encuentra en False el ancho y alto del control será el que esté establecido en la propiedad Height y Width sin importar la longitud del texto.
Propiedad Aligment
Esta propiedad posee 3 valores. Si le establecemos el valor 0 el texto se alineará a la izquierda, si tiene el valor 1 se alineará a la derecha y si está con el valor 2, el texto se muestra en forma centrada, como muestra la imagen:
Otras propiedades del control son:
Visible: Si está en True el control está visible si está en False está oculto
Backcolor: Determina el color del fondo de la etiqueta. Si la propiedad BackStyle está en transparente esta propiedad no se visualiza, es decir el color no se muestra
BackStyle: Determina si el fondo es transparente (valor 0) o si es opaco (Valor 1).
Name: es el nombre del control y sirve para hacer referencia al mismo en el código, como todos los controles
BorderStyle: determina si se muestra con borde o sin borde
Enabled: Si está en True (Verdadero) el control está activado y se puede utilizar normalmente, si se encuentra en False, el control está desactivado.
FontName: El nombre de la fuente que utilizará el texto del control. Podemos elegir las que tengamos instaladas en el sistema
Forecolor: Valor Hexadecimal o valor Rgb que indica el color del Texto
Height y Width: Ancho y alto del Label
ToolTipText: muestra el mensaje de descripción cuando pasamos el mouse por encima del control.
Ejemplo para cambiar propiedades en tiempo de ejecución
Colocar 5 Command Button en un formulario: Command1, Command2, Command3, Command4 y Command5, y un control Label1 como está en la imagen:
Este básico ejemplo lo que hace es cambiar algunas propiedades de este control.
Eventos del control Label
Evento Clic: Se produce al hacer un clic
Evento DblClick: Se produce al hacer doble clic
Evento MouseDown: Se produce al presionar el ratón cuando el mouse está abajo
Evento MouseMove: se produce al mover el cursor en el área del control
Evento MouseUp: Se produce al hacer un Clic justo después de soltar el botón del mouse
Evento Change: Se produce cuando cambia la propiedad Caption del control. Este evento puede utilizarse para validar algún cambio
Control Button o CommandButton
Uso o aplicación:
Este control " Botón de comando ", nos permite ejecutar alguna rutina, función o procedimiento, generalmente en el evento clic del mismo, para realizar de esta manera alguna tarea dentro del programa
Como se dijo, se utiliza generalmente en el evento Click para ejecutar alguna acción cuando se produce dicho evento, y es precisamente el evento Click, el que por defecto añade Visual Basic al control
Por ejemplo, si colocamos un control Command1 en un formulario, y le damos DobleClick para que se abra la ventana de código de visual basic, podemos ver la siguiente rutina:
Private Sub Command1_Click()
End Sub
Todas las instrucciones que estén dentro de este procedimiento, llamado Command1_Click, se ejecutarán cuando presionemos el botón. Por ejemplo si ejecutamos el siguiente código, lo que haría sería mostrar la fecha del sistema en la barra de título del formulario, utilizando la función Date de Visual Basic
Option Explicit
Private Sub Command1_Click()
‘-- Establecemos en la barra de título del formulario la fecha del Pc
Me.Caption = Date
End Sub
Este otro ejemplo, al presionar el botón, termina el programa utilizando la función End de vb. Colocar un Botón en el form
Option Explicit
Private Sub Command1_Click()
End
End Sub
Private Sub Form_Load()
Command1.Caption = "Salir"
End Sub
Prefijo para la propiedad name:
btn.
Propiedades:
Las propiedades que posee el control CommandButton son prácticamente las que poseen el resto de controles estándar de visual basic, salvo algunas exclusivas como la propiedad Style.
Propiedad Style
La propiedad Style tiene 2 valores, 0 - Standar y 1 - Graphical. La primera es del clásico botón y este valor es el asignado por defecto. En cambio Graphical permite utilizar CommandButton para poder mostrar imágenes, cambiarle el color del fondo, el tipo de fuente, y utilizando el Api de windows, se puede cambiar por ejemplo el color de la fuente, es decir el ForeColor que este control no lo posee.
Esta imagen muestra, en el Command1 , una imagen, por medio de la propiedad Picture que la puedes cargar desde la ventana de propiedades. El segundo, el Command2, no tiene imagen, pero muestra cómo se puede establecer el color de fondo, propiedad Backcolor, siempre y cuando la propiedad Style sea de tipo gráfico, ya que si está en estándar no surtirá efecto.
Otro ejemplo sobre esta propiedad: Al pasar el mouse por encima del Commandbutton, se cambiará la fuente, en Negrita, el Subrayado, y el color de fondo, al salir el puntero fuera del botón, se reestablecerá a la fuente normal, y se restaurará el color de fondo usando el color por defecto que utiliza Windows para los botones, mediante la constante VbButtonFace
Para el ejemplo, colocar un Command1, colocar la propiedad Style en Graphical y pegar estas líneas en el formulario:
Option Explicit
' -- Flag para que no se ejecute constantemente
' -- el código del Form y del CommandButton
Dim Flag As Boolean
Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
' -- Establecer la fuente del commandButton en negrita y con subrayado
If Flag Then
Command1.Font.Bold = True
Command1.Font.Underline = True
Command1.BackColor = vbWhite
Flag = False
End If
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
' -- Quita la negrita, el subrayado, y restaura el color de fondo
If Flag = False Then
Command1.Font.Bold = False
Command1.Font.Underline = False
Command1.BackColor = vbButtonFace
Flag = True
End If
End Sub
Propiedad Default
Esta propiedad es muy útil en ciertas locaciones, sobre todo en formularios y programas que utilizan bases de datos, y opciones para buscar.
Default puede tener dos valores, True o False. Si está en True, el botón será el botón por defecto que se ejecutará cuando se presione la tecla enter. Por ejemplo hagamos de cuenta que nuestro programa contiene un botón. Ese botón ejecuta un código para buscar datos en una base de datos. Si el usuario en un momento determinado, se encuentra escribiendo datos en un control textbox, y presiona la tecla Enter, el CommandButton al tener la propiedad Default en True, ejecutará el código que tenga en el evento clic. En este caso, en el evento clic, contendría todo el código para realizar la búsqueda de registros.
Un simple ejemplo
Coloca: Un control TextBox, un CommandButton. Pega el siguiente código
Option Explicit
Private Sub Command1_Click()
MsgBox "Se ejecutó el evento Click del commandButton", vbInformation
End Sub
Private Sub Form_Load()
' -- Establecer propiedad Default
Command1.Default = True
MsgBox "Coloca el cursor en un control textbox para que tome el foco, " & _
"y luego, presiona la tecla enter, y verás como de todas formas " & _
"se ejecutó el evento click ya que es el control por defecto del" & _
"formulario. (Nota .Solo puede haber un solo botón con la propiedad " & _
"Default en un formulario)", vbInformation
End Sub
Propiedades de posición
Las propiedades de posición son las que permiten cambiar el tamaño y la posición en el objeto que lo contiene. Estas propiedades son cuatro: Left, Top, Height y Width.
El siguiente ejemplo muestra cómo usar estas propiedades. Supongamos que nuestro formulario contiene un botón "Salir" en la parte inferior:
Ahora bien ¿cómo hacer para que al presionar el botón de maximizar del formulario o cambiar de tamaño el formulario, el botón continúe situado en la esquina inferior derecha? Para ello hay que modificar la propiedad Left y Top del botón. ¿Pero dónde colocar el código? para ello se debe colocar en el evento Resize del formulario.
Propiedad Enabled
Esta propiedad lo que hace es habilitar o deshabilitar el botón. Es una propiedad que la poseen casi todos los controles, tanto los de Visual basic, como otros controles de terceros (controles ocx o Activex )
Aquí puedes ver un pequeño ejemplo de su uso.
Supongamos que nuestro programa contiene un control de texto donde se ingresan datos para buscar registros en una base de datos. Y también tenemos un botón que contiene el código que debe ejecutar para realizar la búsqueda dentro de la base de datos. Si en algún momento el control de texto no contiene datos, es decir no contiene texto valga la redundancia, no sería necesario que el botón se encuentre habilitado, por el contrario, deberíamos deshabilitarlo.
Propiedad MousePointer y Mouseicon
Estas dos propiedades son muy simples de usar y son comunes a la mayoría de objetos y controles de vb
Mousepointer devuelve o establece el tipo de puntero del mouse mostrado al pasar por encima de un objeto
MouseIcon establece un icono personalizado para el mouse
Ejemplo. Colocar un control ListBox y un botón.
Tomar la apariencia de los temas de Windows para los botones
Por defecto el aspecto de los botones, no toma la apariencia del tema que tenga activo Windows. Para poder hacer que los botones y el resto de los controles tengan la tengan, se puede utilizar un archivo Manifest.
Control TextBox
Uso o aplicación:
El control TextBox o Caja de texto se utiliza para Ingresar y/o visualizar Texto (es un control de entrada de datos)
Si en nuestros programas no vamos a introducir Texto, me refiero a solo mostrarlo, valores etc..., es preferible y más lógico utilizar un control Label en cambio de un control TextBox , ya que consume menos recursos
Prefijo para la propiedad name:
txt
Propiedades:
Propiedad Text
La propiedad principal de este control se llama Text. Mediante ella podemos asignarle un texto ya sea en tiempo de diseño o tiempo de ejecución al control. Si es en tiempo de diseño, debemos seleccionar el TextBox e ir a la ventana de propiedades y seleccionar Text. Dentro de ella podemos escribir el texto a ser mostrado. Si es en tiempo de ejecución debemos escribir el nombre del TextBox que queremos y al presionar el punto ".", vb despliega la lista de propiedades y métodos del TextBox, y ahí seleccionamos Text
Por ejemplo si quiero mostrar un texto en un control llamado Text1 se haría de esta forma:
Private Sub Form_Load()
Text1.Text = "Un texto cualquiera"
End Sub
Propiedad Multiline
La propiedad Multiline o mixtilínea se utiliza para poder mostrar los saltos de carro o saltos de línea y que el texto se vea en varias y no todo en un única línea. Los valores que posee son True que está activada y en False quiere decir que está deshabilitada. Por defecto cuando añadimos un TextBox, la propiedad está en False, ósea que tenemos que indicarle nosotros a vb, ya sea desde la ventana de propiedades poniéndola en true. Una cosa importante es que esto no lo podemos cambiar en tiempo de ejecución mediante código, si o si hay que establecerla desde la ventana de propiedades, ya que es una propiedad de solo lectura.
Propiedad PasswordChar
Esta propiedad tiene la función de ocultar el verdadero contenido del TextBox por el caracter que le indiquemos, por ejemplo los TextBox de ingresos de contraseña, donde el texto se oculta pero no se pierde, solo impide visualizarlo:
Nota: para establecer el caracter a mostrar solo debemos indicarlo en la propiedad PasswordChar, pero solo funciona cuando la propiedad Multiline del Text está en False.
Propiedad ScrollBars
Esta propiedad permite que el TextBox tenga o no tenga barras de Scroll cuando el texto sea superior a las dimensiones de la caja de texto. Los valores que puede tener son: 0 indica que el textBox no mostrará Barras de desplazamiento, en 1 Solo barra Horizontal, 2 Solo barra Vertical y 3 ambas barras de desplazamiento. En esta imagen se ve un TextBox con la propiedad Scrollbars en 2, solo Vertical
Propiedad Locked
Esta propiedad lo que hace es impedir que se pueda escribir en el TextBox, bloqueando la entrada de datos. Esta propiedad puede tener el Valor True o False, habilitado para el primero y False para el segundo. Por defecto está deshabilitada, es decir en False
Propiedad Maxlength
La propiedad MaxLength se usa para limitar la cantidad de caracteres que se podrán ingresar. Por ejemplo si en el TextBox tuviésemos el texto "Domingo" y hacemos esto:
Private Sub Command4_Click()
Text1.Text = "Domingo"
Text1.MaxLength = 3
End Sub
El texto "Domingo" se podrá visualizar pero si intentamos escribir en la caja de texto, no se podrá ingresar más de 3 caracteres. Es decir la propiedad recibe un número que identifica la longitud máxima permitida de letras a ingresar.
Propiedad SelStart y SelLength
La primera lo que hace es devolver o establecer el punto inicial del texto seleccionado. En cambio SelLength devuelve o establece el número de caracteres seleccionados.
El siguiente ejemplo utiliza estas dos propiedades, en conjunto con la propiedad Len de visual basic, para que al presionar la tecla Ctrl+A, se seleccione todo el contenido del TextBox
Algunos ejemplos del Uso del control TextBox
Supongamos que quisiéramos mostrar el contenido de un Text1 en un Text2, cuando presionamos un Command1:
Si quisiéramos cambiar el color de fondo (propiedad Backcolor) del TextBox para que sea igual al color de fondo del formulario:
Ejemplo para cargar el contenido de un archivo de texto en un TextBox Multiline
Este simple ejemplo carga en un control textBox el contenido de un archivo seleccionado de tipo txt. El control tiene la propiedad Multiline en True y la propiedad ScrollBar en Both.
Control ComboBox
Uso o aplicación:
El componente ComBoBox (Caja combinada) es el que nos permite que un usuario pueda seleccionar una opción de entre varias, es como si se le preguntase al usuario donde reside y tuviera un combobox con todas las provincias del mundo y el elije de entre todas una.
Este es el aspecto de un ComboBox en un Formulario.
Prefijo para la propiedad name:
cbo
Propiedades:
Name: indica el nombre propio del componente, este nombre será el que tenga en cuenta el Visual Basic a la hora de hacer operaciones con el componente, normalmente tienen el nombre del componente y el numero que le corresponda, pero también los podemos modificar y cambiar el nombre por algo que se nos haga más fácil de recordar que un número.
Appearance: Esta propiedad permite poner la apariencia de 3 dimensiones en nuestra componente.
Backcolor: Esta propiedad permite cambiar el color de fondo de las letras, no el de las propias letras sino el del fondo de ellas.
DataField: Esta propiedad permite enlazar el combo con un campo de una base de datos de forma que pueda coger o almacenar el valor seleccionado en la base de datos.
DataSource: Esta es complemento de la anterior, concretamente mientras que la propiedad DataField indica el campo de enlace, esta propiedad DataSource, indica la tabla en la que se encuentra dicho campo.
DragIcon: Esta propiedad permite establecer el icono que aparecerá en las operaciones de coger y arrastrar el componente, ósea el Drag and Drop.
DragMode: Esta propiedad permite establecer si el arrastre y soltar, drag and drop, se hará de forma automática o manual.
Enabled: Esta propiedad permite poner o no activa el componente, si no está activa las letras que haya dentro de ellas se verán de color gris claro.
Font: Estas propiedades permiten alterar el tipo de letra y el color de la misma.
Height: Esta propiedad permite saber el alto del componente, óseo el tamaño en alto del componente.
Índex: Esta propiedad indica el valor que tenga el componente dentro de todo el formulario, o mejor dicho indica el número de componente entre los que haya insertado en el form.
ItemData: Esta propiedad permite asociar un valor numérico a cada uno de los elementos del Combo, lo veremos más claro cuando trabajemos con el ComboBox.
Left: Esta propiedad indica la posición del componente respecto al borde izquierdo del form.
List: Con estas propiedades podemos obtener uno de los valores que tiene el ComboBox mediante el número de posición.
Locked: Con estas propiedades podemos saber si el combo está bloqueado o permite su manejo.
MouseIcon y MousePointer son propiedades relacionadas, con MousePointer le indicamos que tipo de puntero debe poner el puntero del ratón al pasar por encima del componente, pero si le indicamos el valor 99, entonces el puntero del ratón será del icono con que hayamos indicado en la propiedad MouseIcon.
Sorted: Permite tener ordenados todos los elementos del Combo de forma alfabética.
Style permite indicar el tipo gráfico de Combo que queremos.
Text: Nos da el valor que se ha seleccionado del combo.
Top: indica con respecto al borde superior del form, cual es la posición del componente.
Visible: indica si se va a ver o no, el contenido del componente, ósea visible o no visible.
Width: indica el ancho del componente.
CheckBox
Uso o aplicación:
El control CheckBox se utiliza generalmente para listar opciones y que el usuario pueda elegir entre ellas, y dependiendo del valor (si está chequeado o no), se realiza una u otra acción.
Una vista previa de este control:
Prefijo para la propiedad name:
chk
Propiedades:
Propiedad Caption
La propiedad del CheckBox que visualiza el texto en el control se llama Caption. Para establecerla se realiza desde la ventana de Propiedades de Visual Basic , o en tiempo de ejecución de esta manera:
Por ejemplo si quisiéremos hacerlo en el evento Load del Formulario , DobleClick sobre el form y en el procedimiento Form_Load:
Private Sub Form_Load()
Check1.Caption = "Es usted mayor de edad"
Check2.Caption = "¿ Tiene hijos ?"
Check3.Caption = "¿ Estudió alguna carrera ?"
End Sub
Propiedad Value
La principal propiedad de este control es la propiedad Value. Esta propiedad devuelve y establece el valor seleccionado.
Esta tiene 3 posibles valores:
0 - UnChecked
1 - Checked
2 - Grayed
Las más utilizadas son la 0 - UnChecked y 1 - Checked. Cuando está en 0, el checkbox no está tildado o checkeado, cuando está en 1 se muestra marcado.
Siguiendo con el ejemplo anterior de la encuesta, un ejemplo que no tiene ningún sentido pero que te dé una idea más clara de cómo usar este control.
Agrega en un formulario 3 controles CheckBox como muestra la imagen, un botón Command1 para mostrar el resultado y un control textBox llamado Text1 para ingresar un nombre.
Otras propiedades:
Las demás propiedades ya se han visto y son comunes a los demás controles de Visual Basic, como son las propiedades de aspecto gráfico y apariencia del control: Propiedad Font, Forecolor, BackColor etc...., y otras como Visible, Enabled , Top, Left, Width, Height etc...
A continuación unos ejemplos simples que no tienen mucho sentido pero sirven para practicar
Propiedad Style
Una propiedad de este control relacionado a su aspecto gráfico es la Propiedad Style:
Esta es similar a la del control CommandButton, y permite tener un checkBox de estilo gráfico o estilo Estándar normal, como muestra esta imagen:
Si está en Graphical, es posible cambiarle el color de fondo y también si queremos podemos mostrar una imagen utilizando la propiedad Picture del Check
Ejemplo para crear un CheckBox propio mediante controles Image
Este ejemplo para descargar es muy simple y muestra como se puede crear un control Check utilizando gráficos personalizados, es decir creado por nosotros, como muestra la imagen:
El ejemplo está hecho con dos controles image, uno llamado ImageCheck, que tiene cargado el gráfico para mostrar el valor checkeado, el otro control Image llamado ImageUncheck, tiene el otro gráfico sin el check. Luego al presionar los controles Image, en el evento click, si el ImageUncheck está visible, se oculta, si está invisible se visualiza, y los mismo con el otro image.
PictureBox
Uso o aplicación:
El control PictureBox se utiliza para mostrar y cargar archivos de imagen, también para dibujar figuras mediante los métodos gráficos , y también como control contenedor de otros controles, como los controles Frame
Vista de un picturebox con un gráfico cargado
Vista de un PictureBox con un dibujo hecho por nosotros, en este caso un rectángulo:
Propìedades:
Propiedad Picture
La principal propiedad del control PictureBox se llama precisamente Picture.
Esta propiedad es la que indica el gráfico que estará cargado. Para cargar un gráfico en visual basic desde el disco, se usa la función LoadPicture. A Esta función le debemos indicar como parámetro la ruta del fichero
Propiedad Autosize
Esta propiedad lo que hace es adaptar o ajustar el control a las dimensiones del gráfico cargado.
Los posibles valores que le podemos dar son True o False. Si le pasamos True el control se autoajusta al tamaño de la imagen, si le pasamos False el control queda con el ancho y alto sin autoajustarse al gráfico
Esta captura muestra esto mismo, el Picture de la izquierda tiene la propiedad Autosize en False, mientras que el otro la tiene en True.
Usar el PictureBox como contenedor
El control PictureBox también funciona como contenedor de otro controles. Esto quiere decir que podemos colocar controles TextBox, botones etc..., dentro del control , y estos estarán contenidos.
Ejemplo : Colocar un Picture1 en el formulario con 2 CommandButton de la siguiente manera:
En la propiedad caption del Command1 coloca "Ocultar PictureBox" y en el otro "Mostrar PictureBox"
Ahora selecciona los controles que quieras de la barra de controles y dibujalos dentro del Picture1. Asegurate que los dibujes dentro del mismo
Los botones Command1 y Command2 hacen lo mismo que el ejemplo anterior, es decir mediante la propiedad Visible del Picture1 , ocultan y hace visible nuevamente al PictureBox, utilizando el valor True o False respectivamente.
Propiedad Container - Insertar controles en tiempo de ejecución
El anterior ejemplo, mostraba como colocar los controles en tiempo de diseño, pero hay veces que es necesario por algún motivo hacerlo si o si en tiempo de ejecución.
Para poder colocar los controles dentro de un contenedor, podemos usar la propiedad Container .
Propiedad Autoredraw
La propiedad AutoRedraw es una propiedad muy importante y muy utilizada cuando se usa un picturebox para dibujar sobre el control
Lo que permite hacer la propiedad Autoredraw, es que al estar activada (con el valor True), y utilizar los métodos gráficos, por ejemplo dibujar un círculo, una linea, o cualquier imagen / dibujo, cuando se repinte el control, la imagen no se pierda, es decir que se mantenga. De esta manera Visual basic automáticamente vuelve a dibujar la imagen. Esta propiedad por defecto se encuentra en false. Luego es posible borrar la imagen con el método Cls
Guardar la imagen del picturebox como BMP
Utilizando método SavePicture de vb es posible grabar en disco un archivo BMP, con el gráfico cargado en el control (propiedad Picture del PicBox). El uso de este método o función es muy simple. A SavePicture se le debe pasar dos parámetros:
La propiedad Picture es decir la imagen (También es posible pasar la propiedad image si se ha dibujado con los métodos gráficos o con el uso de las Apis de Windows ) y el path donde se creará el archivo
Por ejemplo:
' -- Cargar una imagen en el control
Picture1.Picture = LoadPicture(ruta)
' -- Grabar el archivo BMP en la ruta especificada
SavePicture Picture1.Picture, "C:\Imagen.BMP"
El código anterior genera un archivo BMP en la unidad c: llamado imagen.bmp
Propiedad Image
La propiedad Image del control PicBox es una propiedad de solo lectura. Esta Devuelve un controlador o manipulador, proporcionado por Microsoft Windows, para un mapa de bits persistente. Esto quiere decir que, si hemos utilizado los métodos gráficos para crear figuras , imágenes o cualquier dibujo en el control, podemos acceder a la imagen mediante este Handle o controlador.
Control Masked TextBox
Uso o aplicación:
Utiliza una máscara para distinguir si los datos que especifica el usuario son apropiados o inapropiados.
Sintaxis
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
[DefaultBindingPropertyAttribute("Text")]
public class MaskedTextBox : TextBoxBase
Propiedades:
| Nombre | Descripción |
AcceptsTab | Obtiene o establece un valor que determina cómo se controlan las teclas TAB para las configuraciones de múltiples líneas. Esta propiedad no es compatible con MaskedTextBox. | |
AccessibilityObject | Obtiene AccessibleObject asignado al control. (Se hereda de Control). | |
AccessibleDefaultActionDescription | Obtiene o establece la descripción de la acción predeterminada del control que usan las aplicaciones cliente de accesibilidad. (Se hereda de Control). | |
AccessibleDescription | Obtiene o establece la descripción del control que las aplicaciones cliente de accesibilidad utilizan. (Se hereda de Control). | |
AccessibleName | Obtiene o establece el nombre del control que las aplicaciones cliente de accesibilidad utilizan. (Se hereda de Control). | |
Anchor | Obtiene o establece los bordes del contenedor al que está enlazado un control y determina cómo se cambia el tamaño de un control con su elemento primario. (Se hereda de Control). | |
AsciiOnly | Obtiene o establece un valor que indica si el control MaskedTextBox acepta caracteres no incluidos en el juego de caracteres ASCII. | |
AutoSize | Obtiene o establece un valor que indica si el alto del control se ajusta automáticamente cuando se cambia la fuente asignada al control. (Se hereda de TextBoxBase). | |
BackColor | Obtiene o establece el color de fondo del control. (Se hereda de TextBoxBase). | |
BackgroundImage | Infraestructura. Esta propiedad no es relevante para esta clase. (Se hereda de TextBoxBase). | |
BackgroundImageLayout | Infraestructura. Esta propiedad no es relevante para esta clase. (Se hereda de TextBoxBase). | |
BeepOnError | Obtiene o establece un valor que indica si el control de cuadro de texto enmascarado hace que se emita el bip de aviso del sistema para cada pulsación de tecla por parte del usuario que se rechaza. | |
ClientRectangle | Obtiene el rectángulo que representa el área cliente del control. (Se hereda de Control). | |
ClientSize | Obtiene o establece el alto y el ancho del área cliente del control. (Se hereda de Control). | |
CompanyName | Obtiene el nombre de la compañía o del creador de la aplicación que contiene el control. (Se hereda de Control). | |
Container | Obtiene IContainer que contiene Component. (Se hereda de Component). | |
ContainsFocus | Obtiene un valor que indica si el control, o uno de sus controles secundarios, tienen el foco de entrada en la actualidad. (Se hereda de Control). | |
ContextMenu | Obtiene o establece el menú contextual asociado al control. (Se hereda de Control). | |
ContextMenuStrip | Obtiene o establece el ContextMenuStrip asociado a este control. (Se hereda de Control). | |
Controls | Obtiene la colección de controles que contiene el control. (Se hereda de Control). | |
DataBindings | Obtiene los enlaces de datos del control. (Se hereda de Control). | |
DefaultCursor | Obtiene o establece el cursor predeterminado para el control. (Se hereda de TextBoxBase). | |
DisplayRectangle | Obtiene el rectángulo que representa el área de presentación del control. (Se hereda de Control). | |
Disposing | Obtiene un valor que indica si la clase base Control está en el proceso de eliminación. (Se hereda de Control). | |
Dock | Obtiene o establece que los bordes del control se acoplarán a su control primario y determina cómo se cambia el tamaño de un control con su elemento primario. (Se hereda de Control). | |
DoubleBuffered | Infraestructura. Obtiene o establece un valor que indica si el dibujo del control se realiza en un búfer antes de que se muestre el control. Esta propiedad no es relevante para esta clase. (Se hereda de TextBoxBase). | |
Enabled | Obtiene o establece un valor que indica si el control puede responder a la interacción del usuario. (Se hereda de Control). | |
Events | Obtiene la lista de controladores de eventos asociados a Component. (Se hereda de Component). | |
Focused | Obtiene un valor que indica si el control tiene el foco de entrada. (Se hereda de Control). | |
Font | Obtiene o establece la fuente del texto que muestra el control. (Se hereda de Control). | |
FontHeight | Obtiene o establece el alto de la fuente del control. (Se hereda de Control). | |
ForeColor | Obtiene o establece el color de primer plano del control. (Se hereda de TextBoxBase). | |
FormatProvider | Obtiene o establece el IFormatProvider que se utilizará al realizar la validación de tipo. | |
Handle | Obtiene el identificador de ventana al que está enlazado el control. (Se hereda de Control). | |
HasChildren | Obtiene un valor que indica si el control contiene uno o más controles secundarios. (Se hereda de Control). | |
HideSelection | Obtiene o establece un valor que indica si el texto seleccionado en el control de cuadro de texto continúa resaltado cuando el control pierde foco. (Se hereda de TextBoxBase). | |
IsMirrored | Obtiene un valor que indica si el control está reflejado. (Se hereda de Control). | |
IsOverwriteMode | Obtiene un valor que especifica si los nuevos datos proporcionados por el usuario sobrescriben los datos existentes. | |
LayoutEngine | Obtiene una instancia almacenada en memoria caché del motor de diseño del control. (Se hereda de Control). | |
Margin | Obtiene o establece el espacio entre controles. (Se hereda de Control). | |
Mask | Obtiene o establece la máscara de entrada que se utilizará en tiempo de ejecución. | |
MaskCompleted | Obtiene un valor que indica si se han escrito en la máscara de entrada todos los caracteres necesarios. | |
MaskedTextProvider | Obtiene un clon del proveedor de máscara asociado a esta instancia del control de cuadro de texto enmascarado. | |
Multiline | Obtiene o establece un valor que indica si es un control de cuadro de texto multilínea. Esta propiedad no es totalmente compatible con MaskedTextBox. (Invalida a TextBoxBase.Multiline). | |
Name | Obtiene o establece el nombre del control. (Se hereda de Control). | |
Padding | Infraestructura. Esta propiedad no es relevante para esta clase. (Se hereda de TextBoxBase). | |
Parent | Obtiene o establece el contenedor primario del control. (Se hereda de Control). | |
PasswordChar | Obtiene o establece el carácter que se mostrará en sustitución de los datos proporcionados por el usuario. | |
ReadOnly | Obtiene o establece un valor que indica si el texto del cuadro de texto es de solo lectura. | |
RecreatingHandle | Obtiene un valor que indica si el control está volviendo a crear su identificador en la actualidad. (Se hereda de Control). | |
Region | Obtiene o establece la región de ventana asociada al control. (Se hereda de Control). | |
RejectInputOnFirstFailure | Obtiene o establece un valor que indica si el análisis de los datos proporcionados por el usuario debe detenerse al llegar al primer carácter no válido. | |
ScaleChildren | Obtiene un valor que determina el escalado de los controles secundarios. (Se hereda de Control). | |
SelectedText | Obtiene o establece la selección actual del control MaskedTextBox. (Invalida a TextBoxBase.SelectedText). | |
SelectionLength | Obtiene o establece el número de caracteres seleccionados en el cuadro de texto. (Se hereda de TextBoxBase). | |
SelectionStart | Obtiene o establece el punto de inicio del texto seleccionado en el cuadro de texto. (Se hereda de TextBoxBase). | |
TabIndex | Obtiene o establece el orden de tabulación del control en su contenedor. (Se hereda de Control). | |
TabStop | Obtiene o establece un valor que indica si el usuario puede dar el foco a este control mediante la tecla TAB. (Se hereda de Control). | |
Tag | Obtiene o establece el objeto que contiene datos sobre el control. (Se hereda de Control). | |
Text | Obtiene o establece el texto tal y como se muestra actualmente al usuario. (Invalida a TextBoxBase.Text). | |
TextAlign | Obtiene o establece cómo se alinea el texto alinea en un control de cuadro de texto enmascarado. | |
UseSystemPasswordChar | Obtiene o establece un valor que indica si se debe utilizar el carácter de contraseña proporcionado por el sistema operativo. | |
UseWaitCursor | Obtiene o establece un valor que indica si se utiliza el cursor de espera para el control actual y todos los controles secundarios. (Se hereda de Control). | |
ValidatingType | Obtiene o establece el tipo de datos utilizado para comprobar la entrada de datos por parte del usuario. | |
Visible | Obtiene o establece un valor que indica si se muestran el control y todos sus controles secundarios. (Se hereda de Control). | |
Width | Obtiene o establece el ancho del control. (Se hereda de Control). | |
WindowTarget | Infraestructura. Esta propiedad no es relevante para esta clase. (Se hereda de Control). | |
WordWrap | Obtiene o establece un valor que indica si un control de cuadro de texto multilínea ajusta las palabras de forma automática al principio de la línea siguiente cuando es necesario. Esta propiedad no es compatible con MaskedTextBox. |
Radio Button
Uso o Aplicación:
El control RadioButton se utiliza para proporcionar un conjunto de opciones mutuamente excluyentes. El usuario puede seleccionar un botón de opción en un grupo. Si usted necesita colocar más de un grupo de botones de radio en la misma forma, deberías colocar en controles de diferentes contenedores como un control GroupBox.
Vamos a crear tres botones arrastrando controles RadioButton del cuadro de herramientas y colocando en el formulario.
Se usa la propiedad Checked , el botón de radio para establecer el estado de un botón de radio. Puede mostrar texto, imagen o ambos sobre el control de botón de radio. También puede cambiar el aspecto del control de botón de radio mediante la propiedad apariencia
Propiedades:
N | Propiedad | Descripción |
1 | Apariencia | Obtiene o establece un valor determinar la apariencia del botón de radio. |
2 | AutoCheck | Obtiene o establece un valor que indica si el valor de Checked y el aspecto del control cambian automáticamente cuando se hace clic en el control. |
3 | CheckAlign | Obtiene o establece la ubicación de la parte de casilla del botón de radio. |
4 | Comprobado | Obtiene o establece un valor que indica si el control está marcado. |
5 | Texto | Obtiene o establece el título de un botón de radio. |
6 | TabStop | Obtiene o establece un valor que indica si un usuario puede dar el foco al control RadioButton usando la tecla TAB. |
Ejemplo
En el ejemplo siguiente, cree dos grupos de botones de opción y usar sus eventos CheckedChanged para cambiar la propiedad BackColor y ForeColor de la forma.
Haga doble clic en los botones de opción y poner el siguiente código en la ventana abierta.
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' Set the caption bar text of the form.
Me.Text = "tutorialspont.com"
End Sub
Private Sub RadioButton1_CheckedChanged(sender As Object, _
e As EventArgs) Handles RadioButton1.CheckedChanged
Me.BackColor = Color.Red
End Sub
Private Sub RadioButton2_CheckedChanged(sender As Object, _
e As EventArgs) Handles RadioButton2.CheckedChanged
Me.BackColor = Color.Green
End Sub
Private Sub RadioButton3_CheckedChanged(sender As Object, _
e As EventArgs) Handles RadioButton3.CheckedChanged
Me.BackColor = Color.Blue
End Sub
Private Sub RadioButton4_CheckedChanged(sender As Object, _
e As EventArgs) Handles RadioButton4.CheckedChanged
Me.ForeColor = Color.Black
End Sub
Private Sub RadioButton5_CheckedChanged(sender As Object, _
e As EventArgs) Handles RadioButton5.CheckedChanged
Me.ForeColor = Color.White
End Sub
Private Sub RadioButton6_CheckedChanged(sender As Object, _
e As EventArgs) Handles RadioButton6.CheckedChanged
Me.ForeColor = Color.Red
End Sub
End Class
Cuando el código anterior es ejecutado y usando el botón de inicio disponible en la barra de herramientas de Microsoft Visual Studio, se mostrará la siguiente ventana:
Control ListBox
Uso o aplicación:
El control ListBox permite añadir elementos en forma de lista y también poder seleccionar elementos de la misma para trabajar los datos.
Este control permite seleccionar un elemento solo o varios de ellos, utilizando la propiedad Multiselect. La imagen de la izquierda muestra un ListBox en el que se selecciona un solo elemento y a la derecha se seleccionan varios:
Para agregar elementos a un control ListBox en tiempo de diseño, se debe seleccionar el control Listbox, y desde la ventana de propiedades ubicarnos en la que se llama List. Al desplegarla podemos agregar y remover elementos.
Para esto se debe ingresar uno, luego mantener la tecla Ctrl presionada y presionar Enter, y agregar el siguiente y asi con los demás.
Para agregarlos en tiempo de ejecución, es decir mediante código, se utiliza un método llamado AddItem.
Por ejemplo si quisiéramos agregar un elemento a un control llamado List1 en el evento Click de un botón, debemos escribir el nombre del ListBox y presionar el ".". Visual Basic desplegará la lista de propiedades y métodos del control List, en ella buscamos el método AddItem, como muestra la imagen:
El método AddItem tiene 2 parámetros.
AddItem "Elemento que vamos a agregar", "Index (posición)"
El primer parámetro es obligatorio, y es el elemento que vamos a añadir al control List. El segundo parámetro no es obligatorio, es decir es opcional, y permite especificar el lugar donde añadir el elemento, es decir la posición. A este se le pasa un número entero, por ejemplo 0, 1, 5 etc...Si no se especifica una posición, el elemento que se agrega es añadido al final de la lista.
Por ejemplo, si quisiera agregar 5 nombres de países en un control llamado List1, cuando presionamos un Command1 :
Private Sub Command1_Click()
List1.AddItem "Brasil"
List1.AddItem "Francia"
List1.AddItem "Italia"
List1.AddItem "Argentina"
List1.AddItem "venezuela"
End Sub
Al probar lo anterior, Visual Basic no dió error al no indicar la posición o el parámetro Index, ya que como se dijo dicho parámetro es opcional.
Para eliminar un elemento se utiliza el método RemoveItem. Este método tiene un parámetro llamado Index en el cual debemos indicar la posición del elemento que vamos a eliminar.
Por ejemplo:
Private Sub Command2_Click()
'Eliminamos el elemento 2 de la lista
List1.RemoveItem 2
End Sub
El ejemplo anterior eliminaría de la lista el elemento "Italia". Te preguntarás porque elimina a "Italia" si este está en la posición 3. En realidad está en la posición 2, ya que se comienza el conteo desde el 0, es decir en la lista del ejemplo anterior, "Brasil" tiene el número 0, "Francia" el 1, "Italia" el 2 etc...
Ejemplo simple para agregar y eliminar elementos de un control List
Para el siguiente ejemplo colocar los siguientes controles en un formulario como está en la imagen:
Un control Label1 y en el Caption escribir "Nombre". Un Command1 y en el Caption "Añadir". Al Command2 "Eliminar Seleccionado". Luego agrega un Text1 al lado del control Label1 y un control List1.
El elemento que escribamos en el Text1, cuando se presione " Añadir " se agregará al control List1, cuando presionemos el Command2 se eliminará de la lista el elemento que se encuentre seleccionado.
Propiedades:
Propiedad Sorted
Si quisiéramos ordenar el contenido, es decir los elementos del control List en forma alfabética, debemos utilizar la propiedad Sorted.
Esta propiedad no se puede utilizar en tiempo de ejecución, si no que la debemos establecer en tiempo de diseño desde la ventana de propiedades. Si la propiedad está en True, la lista de elementos se mostrará en forma ordenada, si está en False sin ordenar. Por defecto esta propiedad está con el Valor False.
Eliminar elementos con el método Clear
Para eliminar todo el contenido de un control ListBox se utiliza el método o función llamado Clear.
Por ejemplo:
Private Sub Command1_Click()
'Elimina todo el contenido del ListBox
List1.Clear
End Sub
Este método no necesita ningún parámetro, solo ejecutarlo para que todo el contenido del control sea eliminado. Tampoco produce un error si ejecutamos Clear y el ListBox no tiene elementos, es decir si los tiene los elimina, si no tiene elementos y se ejecuta Clear, no ocurre nada.
Propiedad ListCount
La propiedad ListCount devuelve la cantidad de elementos que contiene el control.
Por ejemplo, en las siguientes líneas, cuando se presiona un Command1, se agregan 3 elementos. Luego se muestra un mensaje, mediante un MsgBox, con la cantidad de elementos del control, consultando el valor de la propiedad ListCount :
Private Sub Command1_Click()
'Agregamos 3 elementos al listado
List1.AddItem "Enero"
List1.AddItem "Febrero"
List1.AddItem "Marzo"
'Mostramos medianete un mensaje la cantidad de elementos
'del contenido del ListBox, en este caso devuelve 3
MsgBox List1.ListCount
End Sub
Propiedad List
La propiedad List devuelve o establece los elementos contenidos en la lista del control.
Esta propiedad lleva un parámetro que indica el número del elemento que se quiere consultar.
Un ejemplo: si quisiera mostrar en un Label1 el texto del elemento que se selecciona, haríamos lo siguiente:
Colocar un List1 y un Label1. Pegar esto en el formulario:
Private Sub Form_Load()
'Agregamos 3 elementos al listado
List1.AddItem "Enero"
List1.AddItem "Febrero"
List1.AddItem "Marzo"
End Sub
Private Sub List1_Click()
'Cuando hacemos Click en un elemento del List1 _
mostramos en el Label1 el texto del elemento
Label1 = List1.List(List1.ListIndex)
End Sub
Si pasáramos un número, nos mostraría el texto del elemento que corresponde a ese número dentro del ListBox. Siguiendo el ejemplo anterior en el que teníamos 3 elementos, si se hiciera esto
Private Sub List1_Click()
Label1 = List1.List(2)
End Sub
...el control Label1 mostraría el texto del elemento 2, que sería "Marzo". Esto como ya se indicó antes es porque el primer elemento en la lista es el 0, que en este caso corresponde a "Enero", el segundo elemento es el 1, en este caso "Febrero" , etc...
Otras propiedades del control ListBox son:
Propiedad Backcolor : Establece el color de fondo del control
Propiedad Enabled : Permite habilitar o deshabilitar el control ListBox - Valores True y False
Propiedad Font: Establece el tipo de fuente, tamaño estilo etc... de los elementos
Propiedad ForeColor: Establece el color de la fuente de los elementos
Propiedad Height y Width: Establece el ancho y alto del control
Propiedad MultiSelect: Permite indicar si el ListBox se podrá seleccionar mas de un elemento
Propiedad Visible: Si está en True el control será visible si está en False estará oculto
Control Timer
Uso o aplicación:
El control Timer es un temporizador que nos permite ejecutar instrucciones de código, rutinas, funciones etc..., cada cierto intervalo de tiempo.
Este control es invisible en tiempo de ejecución, esto quiere decir que no tiene interfaz gráfica, solo es visible cuando lo agregamos a un formulario y estamos en modo de diseño.
Propiedades:
La propiedad más importante de este control es la propiedad Interval
Propiedad Interval:
Devuelve o establece el número de milisegundos entre dos llamadas al evento Timer de un control Timer.
En castellano, esto quiere decir que la propiedad es la que determina el intervalo en el que ejecutará las instrucciones que estén en el evento llamado Timer, que es el único evento que posee el control
Por ejemplo, si agregás un Timer al formulario y le haces DobleClick sobre el mismo, al abrirse la ventana de código Visual Basic creará una rutina de evento como la siguiente:
En ese procedimiento (controlador de evento ) es donde debemos escribir las instrucciones que queremos que se ejecuten cada cierto intervalo de tiempo.
Antes de hacer un ejemplo, hay que aclarar que la propiedad Interval está expresada en milisegundos, esto quiere decir que por ejemplo si quisieramos ejecutar una instrucción cada 3 segundos por decir un ejemplo, la propiedad Interval debe estar en 3000, si quisiera ejecutarla cada 10 segundos en 10000 etc...
Otra cosa importante es que si la propiedad Interval se encuentra en 0, el procedimiento Timer no se producirá.
Ejemplo: utilizar la propiedad Interval para mostrar la hora
Coloca un Timer llamado Timer1, seleccionalo, y desde la ventana de propiedades en la propiedad Interval coloca el valor 1000. O sea que el Timer1 se va a ejecutar cada 1 segundo.
Ahora coloca un control Label1 en el formulario y en la propiedad Autosize del control Label1 coloca True, esto hará que el control Label1 se ajuste al contenido del mismo. Lo que hará el ejemplo será mostrar la hora del sistema en el control de etiqueta
Entonces dale doble Click en el Timer1 para crear el procedimiento que se describió arriba que es el que ejecuta el Timer. y pega está instrucción
Label1.caption = Time
El código del procedimiento quedaría así:
Private Sub Timer1_Timer()
Label1.Caption = Time
End Sub
Ahora ejecuta el programa y podés ver como se actualiza el Label1 de acuerdo a la hora del sistema, usando claro la función Time de visual basic que devuelve la hora del sistema operativo.
Otra propiedad importante y que se utiliza mucho en este control es la propiedad Enabled. La propiedad enabled lo que hace es habilitar o deshabilitar un control. Si está en True funciona, si está en False no funciona. Esta propiedad es común en la mayoría de los controles de visual basic.
Ejemplo: ver el funcionamiento de la propiedad Enabled:
Coloca 2 controels CommandButton llamados cmdActivar y otro CmdDesactiva. También un control laabel llamado Label1 que mostrará igual que el ejemplo anterior la hora del pc usando la función Time de Visual basic, pero en este ejemplo lo que harán los botones es activar y desactivar el control Timer1, mediante la propiedad Enabled
Dale doble click en el CmdActivar, es decir en el CommandButtonm y coloca la siguiente instrucción para activar el Timer1
Timer1.Enabled = True
Ahora Doble click en el otro botón para escribir las instrucción para desactivar el Timer1 cuando hagamos click en el botón
Timer1.Enabled = False
Una cosa que es muy común es asignar la propiedad Interval en tiempo de ejecución, es decir, en vez de hacerlo desde el modo diseño desde la ventana de propiedades, se asignará el Interval en el evento Load del formulario. Esto quiere decir que, apenas cargue y arranque el formulario, el control Timer1 tendrá el Interval en 1000.
Ahora DobleClick en el Formulario para que se abra la ventana de código y Visual Basic te muestre el procedimiento del evento Load y coloca la siguiente línea:
Timer1.interval = 1000
De esta manera ya sabés que desde cualquier punto del programa, podés cambiar la propiedad interval para que el temporizador se ejecute de acuerdo a tus necesidades. Hay veces que esto no es necesario es decir se mantiene igual y constante y no es necesario cambiar el interval, pero otras (depende de lo que se quiera hacer) si lo es.
Ejemplo 3 - Cambiar el Interval en tiempo de ejecución
Este ejemplo no tiene ningún sentido práctico pero para practicar vale.
Coloca en el formulario una barra de Scroll horizontal llamada HScroll1. Seleccionala y en la ventana de propiedades busca la propiedad Max y Min. A Min dejale el valor por defecto que tiene, osea 0. A lapropiedad Max colocale 3000 . Luego coloca un control Label llamado Label1 y un Timer1. Al Label1 en la propiedad Caption agregale algún texto. El formulario tiene que ser algo por el estilo:
Ejemplo- Crear una marquesina de texto
el siguiente ejemplo, crea una marquesina de texto que se desplaza a lo ancho del formulario utilizando nu control Label y por supuesto un Timer.
Coloca un control Frame en el formulario llamado Contenedor. Dentro del contenedor, es decir del Frame, coloca un Label1. Por último un control Timer llamado Timer1.
Desde el modo de Diseño debe verse más o menos asi:
Ejemplo- Crear una marquesina de texto vertical
Este ejemplo es identico al anterior, pero el control Label, que estará dentro de un control Frame, se desplazará desde abajo hacia arriba, haciendo un efecto de Scroll vertical
Coloca un Label1 dentro de un Frame llamado contenedor, como está en la siguiente imagen:
Ejemplo: Animar una secuencia de archivos Gif
Este ejemplo muestra como a partir de una secuencia de archivos cargados en unos controles PictureBox, mediante un Timer y la función PaintPicture, copiar cada cuadro y generar la animación:
Nota sobre la propiedad interval
La propiedad interval acepta como máximo el valor 65535. Es decir que si queremos asignar un valor superior nos dará un error por que desborda
Por eso, si queremos configurar el timer, con valores superiores, por ejemplo hacer que el timer se ejecute cada 10 minutos por decir un caso, podriamos hacer algo por el estilo:
Este código, ejecuta el temporizador cada 5 minutos (el valor de la constante INTERVALO_EN_MINUTOS)