Anda di halaman 1dari 63

Visual .

NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Introducción

Windows es una clase base del Marco .NET usada para crear aplicaciones que
correrán sobre Windows, esta se encuentra disponible al elegir en Visual Basic la
plantilla “Windows Application”.

Cabe comentar que dentro de la clase Windows encontramos definido el formulario


y los controles para Windows (Label, Button, TextBox, Menu, etc), así como
también algunos objetos no visuales de utilidad como Application (reemplaza al
objeto App de VB6), Clipboard, Help, Screen, etc

Para crear una aplicación para windows:

1. Crear un nuevo proyecto (una nueva aplicación), entendiendo por proyecto,


un conjunto de ficheros, distribuidos en carpetas.

Para crear un nuevo proyecto, seleccionamos de la barra de menús archivo/nuevo


proyecto. Seleccionamos Aplicación para Windows, indicamos el nombre del
proyecto ejer1net y la carpeta donde queremos guardar la aplicación.

Después de crear una nueva aplicación Windows, el entorno de desarrollo Visual


mostrará un formulario, Form1, en el diseñador. A la vez mostrará una caja de
herramientas con una gran cantidad de controles para poder ser incluidos en el
formulario.

1
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

En la esquina superior derecha se visualiza una ventana Explorador

El explorador de soluciones muestra el nombre de la solución (una solución engloba


uno o más proyectos), el nombre del proyecto, y el de todos los formularios y
módulos; en nuestro caso, hay un formulario, Form1.vb , del cual podemos ver su

vista diseño o el código que añadamos , y además un fichero denominado


Form1.Designer.vb que almacena el código añadido por el asistente de diseño
durante el diseño del formulario. También se observa un nodo Referentes que
agrupa todas las referencias a las bibliotecas correspondientes a los espacios de
nombres que previsiblemente puede utilizar la aplicación; se puede añadir más
referencias pulsando el botón derecho sobre el nodo.

Para poder visualizar los ficheros mencionados antes se deberá pulsar el botón

Mostrar todos los archivos

El formulario.

El formulario es el plano de fondo para los controles. Después de crear un nuevo


proyecto, la página de diseño muestra uno como el de la figura.

Es una ventana Windows y por lo tanto funciona como tal, es decir, si queremos
cambiar el tamaño pondremos el cursor sobre uno de los cuadros (formulario debe
estar seleccionado) y arrastramos en el sentido opuesto, o si queremos cerrar,
maximizar o minimizar el formulario utilizaremos los botones que se encuentran en
la parte superior derecha.

2
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

2. Definir los controles sobre el formulario. Los controles serán tomados de una
caja de herramientas.

Para añadir un control a un formulario, utilizaremos la caja de herramientas que se


muestra a continuación. En ella visualizaremos los controles más comunes y que
iremos viendo a través de diferentes ejercicios.

En nuestro ejemplo utilizaremos los siguientes controles:

: etiqueta que permite mostrar un texto de una o más líneas que no


puede ser modificado por el usuario.

: botón de pulsación, normalmente tendrá asociada una orden. Esta


orden se ejecutará cuando se haga clic sobre el botón.

Estando en vista diseño, añadimos la etiqueta al formulario, para ello hacemos clic
sobre el control label y sobre el formulario hacemos clic y dibujamos un cuadro y
realizamos el mismo proceso para añadir el botón en este caso seleccionaremos el
control Button.

3. Definir las propiedades del formulario y de los controles.

Una vez añadidos los controles vamos a definir sus propiedades. Para ello
seleccionaremos el control y a través de la ventana de propiedades, que se activa
al seleccionar el control y que aparecerá debajo de la ventana de explorador de
proyecto, modificamos las propiedades que queramos.

3
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Propiedades de la etiqueta: (text, name, autosize, font, forecolor, visible…)

Por defecto al añadir una etiqueta pone el texto Label1, nosotros a través de la
propiedad text escribimos el texto que queremos que aparezca en la etiqueta, en
nuestro ejemplo: Hola a todos!!!!!

Todo control tiene asociado un nombre, propiedad name, para poder hacer
referencia al objeto dentro del código. Esta propiedad es muy importante a medida
que se vaya complicando el código. Por defecto el asistente pone uno nosotros le
cambiaremos y pondremos Lblsaludos.

Propiedad autosize; vale true, esto quiere decir que la etiqueta variará de tamaño
automáticamente en función de su contenido. Si se pone a False el ajuste se
deberá realizar de forma automática.

Propiedad font, permite cambiar el tipo de letra y el tamaño de la misma mientras


que para cambiar el color del texto utilizaremos la propiedad forecolor.

Propiedad visible; vale True de forma que permite visualizar el contenido de la


etiqueta, si no queremos visualizarlo se pondrá a False .

Propiedades del botón: (text, name, backcolor…)

Las propiedades que vamos a utilizar en nuestro caso serán:


text: SALUDAR
name: Btsaludo
backcolor: fondo de botón de color verde.

Propiedades del formulario:

text: primer formulario

Nota: si se quiere borrar un control éste se seleccionará y después pulsaremos la


tecla SUPR.

4. Escribir el código para controlar los eventos, que consideremos, de cada uno
de los objetos.

Una aplicación en Windows es conducida por eventos y orientada a objetos. Esto


es, cuando sobre un objeto ocurre un suceso (por ejemplo, el usuario pulsa sobre el
botón) se produce un evento (evento clicK); si nosotros queremos que nuestra

4
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

aplicación responda a ese evento, tenemos que escribir un método que incluya el
código que debe ejecutarse.

En nuestro ejemplo queremos que al pulsar el botón SALUDAR aparezca el texto


Hola a todos!!!.

Para poder escribir un método debemos estar en la ventana de código. En esta


ventana veremos en la parte superior una fila con dos listas desplegables:

En la primera seleccionamos el objeto sobre el cual ocurre el suceso y en la


segunda el evento asociado a ese objeto.
En nuestro ejemplo objeto Btsaludo y el evento click.

Automáticamente se crea un método

Private Sub Btsaludo_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Btsaludo.Click

‘ se escribe el código que tiene que ejecutarse para responder


‘ al evento click que se genera al pulsar el botón

End Sub

Vamos añadir el código que haga que se visualice el texto al pulsar el botón.

Queremos visualizar el texto de la etiqueta cuyo nombre es Lblsaludo y debemos


actuar sobre la propiedad visible que es la que me permite visualizar o no el
contenido de la etiqueta.

Para hacer referencia a una propiedad de un objeto se pone:

nombre_objeto.propiedad

luego nosotros si queremos visualizar el contenido pondremos

Lblsaludo.Visible = True ‘ inicialmente esta proiedad pondremos a


false

El método quedará:

Private Sub Btsaludo_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Btsaludo.Click

Me.Lblsaludo.Visible = True

End Sub

Poniendo Me delante aparecen todos los objetos, métodos.. asociados al proyecto.

5. Guardar, compilar y ejecutar la aplicación.

Una vez finalizada la aplicación, se debe guardar en el disco. Esta operación


normalmente se realiza automáticamente cuando se compila o se ejecuta la

5
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

aplicación. Sin embargo es recomendable, guardar la aplicación en cualquier


instante ejecutando la orden Guardar todo del menú Archivo.

Para ejecutar la aplicación pulsaremos el botón o F5

6. Opcionalmente, utilizar el depurador para detectar los posibles errores.

Si durante la ejecución nos encontramos con problemas o la solución no es


satisfactoria y nos somos capaces de arreglarlo, podemos utilizar el depurador de
formas diferentes:

Paso a paso por instrucciones : permite ejecutar cada método de la aplicación


línea a línea. Pulsando F8.

Paso a paso por procedimientos : si no se quiere ejecutar cada procedimiento


línea a línea sino de una sola vez seleccionaremos esta forma o pulsaremos Mayús
+ F8.

Alternar puntos de interrupción: permite colocar una pausa en cualquier línea del
código. Esto permite ejecutar la aplicación hasta la pausa en un solo paso, y ver en
la ventana Automático, los valores que tienen las variables en ese instante. Para
poner una pausa se pone el cursor en la línea donde se quiere poner la pausa y se
pulsa F9 o hacer clic con el ratón en la barra situada a la izquierda del código.

Los controles más comunes y que utilizaremos a lo largo del curso son:

6
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Abreviatura Propiedades +
Objeto o control Uso principal
importantes
Para seleccionar , mover y ajustar
Puntero (no control)
tamaños de objetos.
lbl Text, BackColor, BackStyle,
Para mostrar texto que no puede ser
Label(Etiqueta) Font, ForeColor,
modificado por el usuario.
Visible,autosize
lilbl Etiqueta que puede mostrar
LinkLabel
hipervínculos.
txt Text, MaxLenght, Multiline,
TextBox(Cuadro de Para poder introducir o visualizar ScrollBars,
texto) texto. PasswordChar,Font,
Forecolor, Backcolor..
CommandButton(Boton cmd El usuario al pulsar un botón de
Text, Default, Style
de comado) comando ejecuta una acción.
fra Sirve para unir objetos. Contenedor de
Frame(Marco) Text
objetos.
CheckBox(casilla de chk Sirven para seleccionar entre varios.
Text, Value
verificacion) Se puede seleccionar mas de uno
RadioButton (boton de rbn Sirve para seleccionar entre varios y
Text, Value
selección) solo se puede seleccionar uno.
lst List, MultiSelect, Sorted,
ListBox (Lista de Lista que muestra distintas opciones a
Style, ListIndex, ListCount,
selección) seleccionar.
Text
pct Sirve para mostrar ficheros graficos.
PictureBox(Cuadro de Tiene más potencia que el control
Picture, AutoSize…
imagen) image pero gasta mas recursos del
ordenador

CONTROLES MÁS USUALES

Etiquetas (Labels)

En las etiquetas o labels la propiedad más importante es Text, que contiene


el texto que aparece sobre este control. Esta propiedad puede ser modificada
desde código, pero no interactivamente clicando sobre ella (a diferencia de
las cajas de texto, que se verán a continuación).

Métodos

Método Descripción

FindForm Devuelve el formulario en el que se encuentra el control.

Focus Pone el foco sobre la etiqueta.

Hide Oculta la etiqueta, sin descargarla de la memoria.

Refresh Repinta la etiqueta.

SetLocation Ubica la etiqueta en una cierta posición de la pantalla.

7
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

SetSize Configura el tamaño de la etiqueta.

Show Pone visible la etiqueta.

Eventos

Evento Descripción

Click Se desencadena al dar clic con el mouse sobre la etiqueta.

DoubleClick Se desencadena al dar doble clic con el mouse sobre la


etiqueta.

GotFocus Ocurre al ingresar el foco sobre el control.

LostFocus Ocurre al salir el foco del control.

MouseEnter Se habilita al ingresar el mouse sobre la etiqueta.

MouseLeave Se habilita al salir el mouse de la etiqueta.

MouseMove Se desencadena al pasar el mouse sobre la etiqueta.

Cajas de texto (Text Box)

La propiedad más importante de las cajas de texto es Text, que almacena el


texto contenido en ellas.

Este control tiene propiedades similares al control Label, entre aquéllas propiedades
exclusivas de este control tenemos:
Propiedad Descripción

CharacterCasing Nueva propiedad que convierte a mayúsculas o minúsculas el


texto.

Lines Muestra el contenido de cada línea del texto.

MaxLength Determina el número de caracteres que se pueden ingresar en


éste.

MultiLine Si es True se pueden escribir varias líneas de texto.

PasswordChar Señala el carácter que aparecerá como mascara de entrada.

ReadOnly Indica que el control solo se puede ver pero no editar. Antes se
llamaba Locked.

ScrollBars Habilita las barras de desplazamiento si el control es multilínea.

WordWrap Cambia de línea al llegar al final de un texto multilínea.

8
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Métodos

Método Descripción

AppendText Añade texto al final del texto actual.

Clear Borra el contenido del cuadro de texto.

Copy Copia el texto y lo envía al portapapeles.

Cut Corta el texto y lo envía al portapapeles.

Paste Pega el texto del portapapeles al cuadro.

ResetText Inicializa el texto.

Select Selecciona el texto.

Undo Deshace el último cambio en el texto.

Eventos
Evento Descripción

KeyPress Ocurre al pulsar una tecla normal. También se desencadena


antes el evento KeyDown y después el evento KeyUp.

TextChanged Es un nuevo evento que reemplaza al evento change, es decir


ocurre al cambiar el texto.

Botón de comando (Command Button)

La propiedades más importantes del botón de comando son:

Text: que es lo que aparece escrito en él, las referentes a su posición (Location: X
e Y) y apariencia externa (Size: Height y Width) y Font tipo de letra) y la
propiedad Enabled, que determina si en un momento dado puede ser pulsado o
no.

No hay que confundir la propiedad Text con la propiedad Name. La primera define
a un texto que aparecerá escrito en el control, mientras que las segunda define el
nombre interno con el que se puede hacer referencia al citado objeto.
Si en la propiedad Text se pone el carácter (&) antes de una de sus letras, dicha
letra aparece subrayada en el botón (como la “x” en el botón Exit de la figura
anexa). Esto quiere decir que, como es habitual en Windows, dicho botón puede
activarse con el teclado por medio de la combinación Alt+letra subrayada. Esta
característica es común a muchos de los controles que tienen propiedad Text

El evento que siempre suelen tener programado los botones de comandos es el


evento Click.

Este control también tiene propiedades similares al control Label, entre aquéllas
propiedades exclusivas y nuevas de esta versión, tenemos:

9
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Propiedad Descripción

BackgroundImage Especifica la imagen de fondo que usará el botón.

Image Imagen que se mostrará en el control.

ImageAlign Alineación de la imagen dentro del control. Tiene 9 opciones.

Métodos

Método Descripción

NotifyDefault Indica si el botón será el control por defecto. Es de tipo lógico.

Eventos

Evento Descripción

Clic Se desencadena al dar clic con el mouse sobre la etiqueta.

GotFocus Ocurre al ingresar el foco sobre el botón.

LostFocus Ocurre al salir el foco del botón.

MouseEnter Se habilita al ingresar el mouse sobre el botón.

MouseLeave Se habilita al salir el mouse del botón.

MouseMove Se desencadena al pasar el mouse sobre el botón.

Control GroupBox

Antes conocido como Frame, es un contenedor que se utiliza para agrupar varias
opciones, que pueden ser: de opción única como los RadioButton o de opción
múltiple como los CheckBox.

Este control se utiliza como contenedor y por si solo no tiene mucha funcionalidad,
es por eso, que solo veremos sus principales propiedades, métodos y eventos.

Propiedades

Propiedad Descripción

Name Generalmente usaremos el prefijo gbx.

Enabled Determina si el control estará habilitado o deshabilitado.

Text Indica el texto que se mostrará como encabezado del control.

Visible Muestra u oculta al control y todo su contenido.

10
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Métodos

Método Descripción

Focus Pone el foco sobre el control.

Hide Oculta el control, sin descargarlo de la memoria.

Show Pone visible el cuadro de grupo.

Eventos

Evento Descripción

GotFocus Ocurre al ingresar el foco sobre el control.

LostFocus Ocurre al salir el foco del control.

2.Ejercicio

• Cuando se pulse Saludar aparecerá el saludo.


• Cuando se pulse Cancelar se borrará el texto.
• Cuando se pulse Salir se termina el programa (el programa termina con la
orden End).
3.Ejercicio

• Al pulsar AZUL el color del cuadro


(fondo) se pondrá azul.
• Al pulsar VERDE el color del cuadro
(fondo) se pondrá verde.
• Al pulsar SALIR se termina el
programa.

11
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

4.ejercicio

• Realiza un proyecto donde la ventana principal será:

• Al pulsar el botón rojo, botón ambar o botón verde apareceran las siguientes
ventanas:

• En cada caso la ventana tendrá el color y texto correspondiente.

5.ejercicio

• Realiza un proyecto donde la ventana principal será:

12
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

 El programa deberá convertir de pesetas a euros o de euros a pesetas la


cantidad introducida en el cuadro de texto.

 Después de introducir la cantidad y pulsar el botón correspondiente deberán


aparecer las cantidades debajo de las etiquetas correspondientes como se
puede ver en la segunda ventana.

 La cantidad que se visualice deberá contener el siguiente formato: ###,##0.00


. Para que salga con este formato se deberá utilizar la función FORMAT.

 Realizar las modificaciones oportunas para que el texto este centrado, el título
en negrita y de distinto tipo de letra respecto al resto del texto.

 Se deberá utilizar la función VAL

La función Format convierte un valor numérico en una cadena de texto y le


proporciona control sobre la apariencia de la cadena. Por ejemplo, podemos
especificar el número de decimales, los ceros a la izquierda o a la derecha y los
formatos de moneda. La sintaxis es:

Format(expresión,”mascara”)

El argumento expresión especifica el número que se va a convertir y el argumento


patrón o máscara es una cadena compuesta por símbolos que determinan el
formato del número. En la tabla siguiente se enumeran los símbolos más
comúnmente utilizados.
Símbolo Descripción
0 Marcador de posición de dígito; imprime un cero a la izquierda o
a la derecha en esa posición, si corresponde.
# Marcador de posición de dígito; nunca imprime ceros a la
izquierda ni a la derecha.
. Marcador de posición decimal.
, Separador de millares.
– + $ ( ) espacio Carácter literal; los caracteres se presentan exactamente como
están escritos en la cadena de formato.

Ejemplo: Format(32675,"##,##0.00") mostraría en pantalla: 32.675,00

La función Val convierte una serie de caracteres numéricos (un texto formado por
cifras) en el número entero o de punto flotante correspondiente.

Val(string )

La función Val deja de leer la cadena en el primer carácter que no puede reconocer
como parte de un número. Los símbolos y caracteres que se suelen considerar
parte de valores numéricos, como signos de moneda y comas, no se reconocen. Sin
embargo, la función reconoce los prefijos de base &O (para octal) y &H (para
hexadecimal). Los espacios en blanco, los tabuladores y los avances de línea se
eliminan del argumento.
La función Val sólo reconoce el punto (.) como separador decimal válido

13
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Ejemplo Val(" 1615 198th Street N.E.") devuelve 1645198

6.ejercicio

Realiza una aplicación calculadora elemental que permite hacer las cuatro
operaciones aritméticas

El usuario introduce los datos y clica sobre el botón correspondiente a la operación


que desea realizar, apareciendo inmediatamente el resultado en la caja de texto de
la derecha.

 Los datos están centrados y tipo letra Ms Sans Serif , tamaño 24. El color del
resultado será naranja.
 Se deberá utilizar la función VAL

CONTROLES COMUNES

Control RadioButton

Antes conocido como OptionButton, es un control en el que solo se puede


seleccionar uno por contenedor.

Propiedades

Propiedad Descripción

Appearance Controla la apariencia del control, puede ser: Normal (como


botón de opción) o Button (como botón de comando).

AutoCheck Cambia de estado cada vez que se da clic al botón.

CheckAlign Controla la alineación del botón. Hay 9 posiciones.

Checked Indica si el botón ha sido seleccionado o no.

Métodos

Método Descripción

Focus Pone el foco sobre el radiobutton.

Hide Oculta el radiobutton, sin descargarlo de la memoria.

Show Pone visible el radiobutton.

14
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Eventos

Evento Descripción

CheckedChanged Ocurre al cambiar la propiedad checked del radiobutton.

Clic Se desencadena al dar clic con el mouse sobre el botón.

DoubleClick Se desencadena al dar doble clic con el mouse sobre el botón.

Control CheckBox

Este control mantiene el mismo nombre anterior, es un control en el que se pueden


seleccionar varios por contenedor.

Propiedades

Propiedad Descripción

Name Generalmente usaremos el prefijo chk.

Appearance Controla la apariencia del control, puede ser: Normal (como


casilla) o Button (como botón de comando).

AutoCheck Cambia de estado cada vez que se da clic al botón.

CheckAlign Controla la alineación del checkbox. Hay 9 posiciones.

Checked Indica si el checkbox ha sido seleccionado o no.

CheckState Devuelve el estado del checkbox, que puede ser: Unchecked


(sin marcar), Checked (marcado) o Indeterminate (gris).

Métodos

Método Descripción

Focus Pone el foco sobre el checkbox.

Hide Oculta el checkbox, sin descargarlo de la memoria.

Show Pone visible el checkbox.

Eventos

Evento Descripción

15
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

CheckedChanged Ocurre al cambiar el valor de la propiedad Checked del


control.

CheckStateChanged Ocurre al cambiar el valor de la propiedad CheckState del


control.

VARIABLES. CONSTANTES

Una constante representa un espacio de memoria para almacenar un valor que no


se va a modificar durante todo el programa. Utilizando constantes es más fácil
modificar un programa.
Se declara de la siguiente forma:

Const nombre_constante As tipo_datos = valor_constante

Ejemplo: const pi as double = 3.1415

Una variable representa un espacio de memoria para almacenar un valor de un


determinado tipo. Dicho valor, a diferencia de una constante, puede cambiar
durante la ejecución de un programa.

Tipos de Datos
Tipo Estructura Tipo Tamaño Rango de Valores

V. Basic .NET Runtime Almac.


Boolean System.Boolean 4 bytes True o False
Byte System.Byte 1 byte 0 to 255 (sin signo)
Char System.Char 2 bytes 0 to 65535 (sin signo)
Date System.DateTime 8 bytes Enero 1, 1 CE hasta Diciembre 31, 9999
Decimal System.Decimal 12 bytes +/-
79,228,162,514,264,337,593,543,950,335
sin punto decimal;
+/-7.9228162514264337593543950335
con 28 posiciones a la derecha del decimal;
número mas corto (no 0) es
+/-0.0000000000000000000000000001
Double System.Double 8 bytes -1.79769313486231E308 hasta
(doble- -4.94065645841247E-324 para valores
precisión negativos; 4.94065645841247E-324 hasta
punto- 1.79769313486232E308 para valores
flotante) positivos
Integer System.Int32 4 bytes -2,147,483,648 to 2,147,483,647
Long System.Int64 8 bytes -9,223,372,036,854,775,808 hasta
(Entero 9,223,372,036,854,775,807
largo)
Object System.Object 4 bytes Cualquier tipo de dato
(class)
Short System.Int16 2 bytes -32,768 to 32,767
Single System.Single 4 bytes -3.402823E38 hasta -1.401298E-45 para
(simple valores negativos; 1.401298E-45 hasta

16
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

precisión 3.402823E38 para valores positivos


punto-
flotante)
String System.String 10 bytes 0 hasta aproximadamente 2 billones de
(tamaño- (class) + (2 * caracteres Unicode
variable) tamaño
cadena)

Nombre Variables

Una variable debe cumplir con las siguientes reglas:

• Debe iniciar con un carácter alfabético.


• Debería contener solo caracteres alfabéticos, dígitos y carácter de
subrayado.
• El nombre no debe exceder a 255 caracteres, etc.

Declaración de Variables

A diferencia de Visual Basic 6, en VB .NET se pueden declarar varias variables en


una sola instrucción y además se puede asignar directamente sus valores. Otra
observación es que es necesario definir el tipo de declaración y el tipo de dato

Sintaxis: <Tipo de Declaración> <Variable(s)> As <Tipo de Dato>[=<Valor>]

Ejemplos: Dim contador as string, Dim dia as integer = 1

Existen varios tipos de declaración que detallamos a continuación en la siguiente


tabla:
Declaración Lugar de Alcance o Ámbito
Declaración

Public Módulo o Clase Global, en todo el proyecto.

Protected Clase En la clase declarada o en una derivada.

Friend Clase En el Assemblie.

Private Módulo Solo en el módulo.

Dim Procedimiento Solo en el Procedimiento.

Static Procedimiento Solo en el Procedimiento.

Alcance de Variables

Para las variables declaradas a nivel de procedimiento (Dim y Static) existe un


nuevo alcance que es a nivel de estructura o bloque, que puede ser For – Next, If –
End If, Do – Loop, etc. Las variables definidas dentro de un bloque solo valdrán en
este bloque.

Opciones de Trabajo con Variables

17
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Por defecto en VB NET es necesario declarar las variables usadas (Option Explicit)
y también es necesario que se asigne el mismo tipo de dato a la variable (Option
Strict), si no deseamos alguna de las dos (aunque no es recomendable)
pondremos al comienzo del código:

Option Explicit Off

Option Strict Off

OPERADORES

Los operadores son símbolos que indican cómo son manipulados los datos. Se
pueden clasificar en los siguientes grupos:

Operadores aritmeticos
+ suma Los operandos pueden ser enteros o reales
- resta Los operandos pueden ser enteros o reales
* multiplicación Los operandos pueden ser enteros o reales
/ división real Los operandos pueden ser enteros o reales. El
resultado es de tipo Double, excepto cuando uno es
single y el otro es double cuyo resultado será double.
Si son decimales el resultado será decimal.
\ división entera Los operandos deben ser enteros (byte, short, integer,
o long).
^exponenciación Los operandos deben ser enteros o reales.
Mod modulo o resto de Los operandos pueden ser enteros o reales.
una división

Operadores de relación o comparación


< ¿Primer operando menor que el segundo?
> ¿Primer operando mayor que el segundo?
>= ¿Primer operando menor o igual que el segundo?
>= ¿Primer operando mayor o igual que el segundo?
<> ¿Primer operando distinto que el segundo?
= ¿Primer operando igual que el segundo?

Operadores lógicos
and Resultado true si al evaluar cada uno de los operandos
el resultado es true. Si uno de ellos es false el
resultado será false.
or Resultado true si al evaluar cada uno de los operandos
al menos el resultado de uno de ellos es true.
Not El resultado de aplicar este operador es true si el valor
del operando es false y viceversa.

Operador de concatenación
& concatenación Permite generar una cadena de caracteres a partir de
otras dos. La forma de utilizar es:
var = expresión1 & expresión2

var tiene que ser de tipo string y si el tipo de la


expresión1 o expresión2 serán convertidas a string.

18
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

El operador & podrá ser reemplazado por + si las dos


expresiones son de tipo string.

SENTENCIAS DE CONTROL. Sentencia IF

Permite a un programa tomar una decisión para ejecutar una acción u otra,
basándose en el resultado verdadero o falso de una expresión. La sintaxis para
utilizar esta sentencia es la siguiente:

If (condición ) then sentencia1[ else sentencia2 ]

O bien

If (condición) then
sentencia1
[else
sentencia2]
end if

Funcionamiento: se evalua la condición y se obtiene un resultado true o false. Si es


true se ejecutará la sentencia1 y si es false se ignora la sentencia1 y se ejecuta la
sentencia2 si existe else y si no la siguiente sentencia ejecutable en el código.

Ejemplo1: Ejemplo 2: Ejemplo3:

Dim x, b, a as integer
Dim x, b, a as integer Dim x, b, a as integer
If
If (x <> 0) then x=a*b (x <> 0) then x=a*b else x=a/b If( x <> 0 and a>0) then x=a*b else
x=a/b
o bien
o bien
o bien
if (x<> 0) then
if (x<> 0) then
x=a*b if (x<> 0 and a>0) then
x=a*b else x=a*b
end if x=a/b else
end if x=a/b
end if

Anidamiento de sentencias if

Esto significa que se puede escribir una sentencia if dentro de otra sentencia if
tantas veces como uno quiera.
If (condición1) then
If (condición2) then
Sentencia1
End if
Else
Sentencia2
End if

Estructura ElseIf

Se podría sustituir por los if anidados. Su formato es:

19
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

If (condición) then
Sentencia1
Elseif (condición) then
Sentencia2
Else
Sentencia3
End if

7.ejercicio

Diseña el siguiente formulario

 Al cargar del programa aparecerá el texto en colores en comic sans y


tamaño 14.
 El texto cambiará de color correspondiente en función de la opción seleccionada.
 Al pulsar el botón color aparecerá el color seleccionado como fondo en el cuadro
de texto que hay debajo de la etiqueta Color Seleccionado.
 Al pulsar el botón Salir se saldrá del programa.
 Realizar los cambios oportunos para poder utilizar las teclas alt+c o alt+s sin
necesidad de pulsar los botones.

8.ejercicio

• Al cargar el formulario el texto Bienvenidos tomará las siguientes

El tipo de letra "courier new”, tamaño 8 y


color de texto azul.

• El usuario al pulsar un botón que se encuentra en estilo el mensaje Bienvenido


tomará las características que le corresponda.
• Al pulsar +Tamaño el tamaño del mensaje se incrementará en 2 y –Tamaño
decrementara en 2.
• Al pulsar un botón que se encuentra en Fuentes el mensaje cambiará el tipo de
fuente correspondiente.
• Al pulsar el botón Comienzo el mensaje tomará las características que tenía al
comienzo.

20
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Nota: Todos los cambios se realizaran mediante código.


Utilizamos la propiedad Font para poder cambiar el tipo de letra, tamaño y estilo.

Si queremos cambiar mediante código y no mediante diseño lo haremos de la


siguiente forma:

Si la etiqueta tiene el nombre lblbienvenido y la propiedad a cambiar es font


(Me.lblbienvenido.Font) y a continuación creamos una instancia de esa propiedad
new font con los datos a modificar (letra , tamaño y estilo)

Me.lblbienvenido.Font = New Font(letra, tamaño, estilo)

Ejemplo:

Me.lblbienvenido.Font = New Font(“courier”, 8, FontStyle.Italic)

9.ejercicio
Diseña el siguiente formulario

El usuario después de introducir el precio y las unidades deberá pulsar el botón


calcular para mostrar la siguiente información.

 El descuento será un 10% si el importe es 30.000 € o superior, si no el


descuento será un 5%.
 En la etiqueta descuento aparecerá reflejado el descuento realizado. Ejemplo
descuento(10%).
 Al pulsar el botón nueva factura se borrarán todos los datos.

21
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

ejercicio 10

Crea un proyecto que tenga el siguiente formulario:

Para ello se deberá tener en cuenta:

• A medida que se pulsan los números se irá creando el primer operando


• A continuación se pulsará la operación a realizar y aparecerá en el cuadro de
texto que se encuentra entre los dos operandos.
• A continuación se creará el segundo operando.
• Al pulsar el símbolo igual se dará el resultado.
• Al pulsar Repetir se limpiará todo para poder realizar otra operación.
• Al pulsar Salir se terminará el programa.
• Guarda el proyecto con el nombre ejer10
A continuación realiza los siguientes cambios:

22
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

• Se ha añadido un botón. para los decimales.


• Se ha añadido un nuevo textbox con el objetivo de indicar que error se ha
realizado:
o No se puede dividir entre cero
o Se ha pulsado = y no se ha introducido el 2 operando
o Se ha pulsado = y no hay operación seleccionada
o Se ha pulsado = y no se ha introducido el 1 operando

• Guarda el proyecto con el nombre ejer10a


• Crea un ejecutable ejer10a.exe y pruébalo en windows fuera del Visual.
Ejercicio 11

Realiza el siguiente formulario

Los precios son los siguientes:

Equipo A Equipo B

PentiumII-631,71 PentiumII-1281,95
PentiumIII-753,66 PentiumIII-1399,156
PentiumIV-760,28 PentiumIV-1440,02

Complementos

CD-ROM-69,71 Modem-93,15
Joystick-33 Scanner-113,59
Sagua-23 Inprimigailua-170,08

23
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

• Cuando comienzo la aplicación el equipo A estará seleccionado y dentro del


equipo A la opción Pentium II. Las opciones del equipo B no se podrán
seleccionar (estarán deshabilitadas. Propiedad Enable).

• Al seleccionar un equipo las opciones del otro equipo no se podran seleccionar.

• Calcular importe calculará el importe en función de las opciones


seleccionadas. Su formto será ###,##0

• Nuevo calculo se pondrá con las condiciones iniciales.

• Terminar para salir de la aplicación.

OTROS CONTROLES

Control PictureBox

El control PictureBox de formularios Windows Forms se utiliza para mostrar gráficos


en formato de mapa de bits, gif, jpeg, metarchivo(wmf) o icono (ico).

Propiedades

Propiedad Descripción

Image La imagen mostrada en el control

Sizemode Controla como tratará el control PictureBox la ubicación de la


imagen y el tamaño de control. Puede
tomar los siguientes valores: Normal, StrechImage, Autosize,
CenterImage, Zoom.

Size El tamaño del control en píxeles

MaximunSize El tamaño máximo del control

MinimunSize El tamaño mínimo del control

Locked Determina si se puede mover o cambiar el tamaño del control

Para mostrar una imagen en tiempo de diseño

1. Dibujar un control PictureBox en un formulario.


2. En la ventana Propiedades, seleccionar la propiedad Image y, a
continuación, haga clic en el botón de puntos suspensivos para mostrar el
cuadro de diálogo Abrir.
3. Seleccionar el archivo que desee mostrar.

Otra forma desde el mismo control, pulsando la flecha y seleccionando la opción


Elegir imagen

24
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Nos interesa guardar las imágenes en un archivo de recurso del proyecto para que
si movemos el proyecto las imágenes estén dentro del mismo y no nos de error de
localización de las mismas.

Podemos importar todas las


imágenes que necesitemos y
luego seleccionar la imagen que
queremos visualizar en el
picturebox o seleccionar ninguno
si inicialmente no queremos
cargar ninguna imagen en el
picturebox.

Una vez pulsado el botón aceptar se visualizara en la ventana de explorador de


soluciones que se ha creado una carpeta resources con las imágenes importadas.
De esta forma nos aseguramos que esta carpeta se guardará con el proyecto.

25
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Para establecer una imagen en tiempo de ejecución

PictureBox1.Load("..\..\resources\fotolobo.jpg")

Para borrar una imagen en tiempo de ejecución

En primer lugar, se liberará la memoria que utiliza la imagen y a continuación se


eliminará la imagen.

Me.PictureBox1.Image = Nothing

Para establecer la propiedad SizeMode en tiempo de diseño

Desde la ventana propiedades y seleccionando sizemode o al insertar el control


picturebox y seleccionar la flecha y seleccionar modo de tamaño.

Normal significa que la imagen se


sitúa en la esquina superior izquierda
del control; si la imagen es mayor que
el control, sus bordes derecho e inferior
se recortan. CenterImage significa
que la imagen está centrada dentro del
control; si la imagen es mayor que el
control, los bordes exteriores de la
imagen se recortan. AutoSize significa
que el tamaño del control se ajusta al
tamaño de la imagen. StretchImage
es lo contrario, y significa que el
tamaño de la imagen se ajusta al
tamaño del control.

La opción acoplar en contenido ubica la imagen en el contenedor principal, es decir,


en el formulario.

Ejemplo: Situación inicial

Modo normal

26
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Modo StrechImage Modo CenterImage Modo Zoom

Modo Autosize

Para establecer la propiedad SizeMode en tiempo de ejecución

Utilizaremos la propiedad SizeMode para asignar el tamaño y a continuación el


modo de tamaño.

Ejercicio 12

Crea el siguiente formulario

Para ello se tendrá en cuenta:

• Al comienzo el semáforo estará en verde.


• Al pulsar el botón cambiar cambiará el color del semáforo: verde-naranja-rojo.
• Al pulsar el botón final se cerrará el formulario.

Ejercicio 13

27
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Realiza el siguiente formulario

 Al seleccionar una de las imagenes ésta se


pondrá en el cuadro central y los botones
+ y - que estaran deshabilitados al cargar
el formulario se habilitaran.
 El tamaño de la imagen central se cargará
con el ancho= 100 y altura= 100.
 Al pulsar los botones aumentar y disminuir
la imagen que se encuentra en el centro
ira aumentando o disminuyendo el tamaño
en 50.
 Si la altura de la imagen es superior a 300
la imagen ya no se aumentara y si la
altura es inferior a 100 la imagen no
disminuirá.
Nota: para cambiar el tamaño se deberá crear
una nueva instancia new size (ancho, alto).

OTROS CONTROLES

Barras de desplazamiento VScrollbar y HScrollbar

Propiedades

Propiedad Descripción

Maxinum- Determinan los valores máximo y mínimo que toma la barra de


Mininum desplazamiento.

Value Determina el valor actual que toma la barra

LargeChange La cantidad por la que cambia la posición del cuadro de


desplazamiento cuando el usuario hace clic en la barra de
desplazamiento. Por defecto es 10.

SmallChange La cantidad por la que cambia la posición del cuadro de


desplazamiento cuando el usuario hace clic en la flecha de
desplazamiento. Por defecto es 1.

Eventos

Evento Descripción

ValueChanged Se activa cuando la barra de desplazamiento modifica su


valor.

Ejercicio 14

28
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Realiza el siguiente formulario teniendo en cuenta:

 A medida que se muevan las barras de desplazamiento su valor aparecerán en


las etiquetas correspondientes. Además, en el cuadro de abajo aparecerá un
mensaje indicando si las dos barras tienen el mismo valor o la que tiene mayor
valor.

 El valor de las barras ira desde 0 hasta 100. En cada pulsación en las flechas el
valor aumentará en 1 y cada pulsación dentro de la barra aumentara en 10 su
valor.

 Los valores iniciales son los que aparecen en el primer cuadro.

Ejercicio 15

Diseña el siguiente formulario:

Teniendo en cuenta:

 Al mover la barra de desplazamiento ASCII 32-255 nos deberá aparecer en el


cuadro carácter ASCII el código y en el cuadro vista el carácter correspondiente.
Hay que tener en cuenta que los valores van desde 32-255.

 Al mover la barra de desplazamiento de tamaño el carácter irá aumentando de 1


en 1 (valor mínimo 1 máximo 40).

 Al mover las barras de desplazamiento de colores el fondo del cuadro vista irá
cambiando de color con la combinación de esos 3 colores. Los valores van desde
0 a 255.

29
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Funciones a utilizar:

La función Asc nos permite obtener el código ASCII de un de terminado caracter.

Ejemplo: Si queremos obtener el código ASCII del caracter "a", que es el número 97
podríamos hacer lo siguiente: num = Asc("a")

La Función Chr actúa a la inversa de la función Asc, esto quiere decir, que a partir
de un determinado número nos devolverá el caracter ASCII.

Ejemplo: letra = Chr(97) La variable pasa a valer en este caso el caracter "a"

La función RGB() crea un código de color a partir de sus argumentos: las


componentes RGB (Red, Green ,Blue). Estas componentes, cuyo valor se
almacena en un byte y puede oscilar entre 0 y 255, se determinan por medio de las
tres barras de desplazamiento.
El color blanco se obtiene con los tres colores fundamentales a su máxima
intensidad. El color negro se obtiene con los tres colores RGB a cero.

Sin embargo, si queremos asignar este nuevo color al fondo del cuadro de texto no
se va a poder porque Rgb devuelve un número y el fondo de cuadro de texto es un
color. Solución utilizar el método FromArgb(Red, Green, Blue) que nos devuelve
un color a partir de los 3 colores. También se puede utilizar con 4 parámetros
FromArgb(alfa,red,green,blue) siendo alfa el parámetro que trabaja con la opacidad
de los colores.

TRATAMIENTO DE COLORES

Los colores de Visual Basic se definen por medio de las componentes


fundamentales RGB (Red, Green and Blue).

La intensidad de cada color se define con un byte, es decir con un número entero
entre 0 y 255. Se utilizan pues tres bytes para definir los tres colores.

Representación hexadecimal de los colores

Para los números enteros entre 0 y 255 se utilizan dos dígitos hexadecimales. Con
esta notación el cero es el “00” y el 255 el “FF”.

El número que indica el color va precedido por el carácter “&” y la letra “H”. Así, el
color verde se define en la forma: &H00FF00.

Con esta notación es posible prescindir de los ceros situados a la izquierda. Por
ejemplo, el color rojo se puede escribir como &H0000FF y como &HFF.

Visual Basic 6.0 dispone también de nombres para los colores fundamentales y
los que son combinación de los colores fundamentales.

Nombre Código HEX Color


vbBlack &H000000 Negro
vbRed &H0000FF Rojo.
vbGreen &H00FF00 Verde.
vbYellow &H00FFFF Amarillo.
vbBlue &HFF0000 Azul.
vbMagenta &HFF00FF Magenta.

30
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

vbCyan &HFFFF00 Cyan.


vbWhite &HFFFFFF Blanco.

CUADROS DE DIALOGO. Cuadro de mensaje y cuadro de entrada.

Cuadro de mensaje (Msgbox ).

Una gran parte de cualquier proyecto de programación consiste en proporcionar


información a los usuarios. Para ello el cuadro de mensaje es la mejor opción de
comunicación.

Un cuadro de mensaje o Msgbox es un formulario sencillo que muestra un


mensaje y al menos un botón de comando al usuario. El botón se usa para
confirmar el mensaje y cerrar el formulario. Dado que estos están integrados en el
marco de trabajo de .NET no habrá que preocuparse en crear el formulario.

Aunque los cuadros de mensaje son muy útiles, presentan una serie de limitaciones:

• No puede aceptar entradas de texto por parte del usuario. Sólo puede
mostrar información.
• Sólo se puede utilizar un icono predefinido y sus propios botones.

Este tipo de mensajes son muy utilizados para confirmar acciones y para decisiones
sencillas.

La forma general de la función MsgBox es la siguiente:

respuesta = MsgBox("texto para el usuario", tiposBotones, "titulo")

donde

respuesta es la variable donde se almacena el valor de retorno, que es un número


indicativo del botón clicado por el usuario, de acuerdo con los valores de la Tabla
9.1
tiposBotones es un entero que indica la combinación de botones deseada por el
usuario; sus posibles valores se muestran en la Tabla 9.2. Si este argumento se
omite se muestra sólo el botón O.K.
Titulo contiene un texto que aparece como título de la ventana; si se
omite, se muestra en su lugar el nombre de la aplicación.

Tabla 9.1. Botón clicado por el usuario. Tabla 9.2. Botones mostrados en
MsgBox.

Valor de Constante Valor Constante simbólica


retorno simbolica tipoBoton
1 vbOK es
2 vbCancel 0 MsgboxStyle.OKOnly
3 vbAbort 1 MsgboxStyle.OKCancel
4 vbRetry 2 MsgboxStyle.AbortRetryIgnor
5 vbIgnore e
6 vbYes 3 MsgboxStyle.YesNoCancel 31
7 vbNo 4 MsgboxStyle.YesNo
5 MsgboxStyle.RetryCancel
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Además de indicar los tipos de botones se puede añadir un icono indicativo del
tipo de mensaje.
Valor tipoIcono Constante simbolica
16 MsgboxStyle.critical
32 MsgboxStyle.question
48 MsgboxStyle.exclamation
64 MsgboxStyle.information

Ejemplos:

Ejemplo1

MsgBox("Has pulsado el boton de mensaje sencillo..")

Ejemplo2

MsgBox("Segundo mensaje con dos botones", MsgBoxStyle.YesNo)

Ejemplo3

MsgBox("Tercer mensaje con todo", MsgBoxStyle.YesNoCancel +

MsgBoxStyle.Information, "Tercer mensaje")

También se podía haber puesto los códigos en vez de las constantes

Msgbox(“Tercer mensaje con todo”, 3+64,”Tercer mensaje”)

32
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Ejemplo4

Dim r As Integer
r = MsgBox("Cuarto mensaje: has entendido los cuadros de
mensaje", MsgBoxStyle.YesNo)
If r = vbYes Then ‘ tambien se puede poner r=6
MsgBox("has contestado si")
Else
MsgBox("has contestaado no")
End If

Se puede indicar cual es el botón que tiene el focus. Por defecto es el primer botón,
pero se puede cambiar sumando la constante o el número correspondiente a
tiposBotones.

Los valores son uno de los tres valores siguientes:

0 vbDefaulButton1, que representa el primer botón


256 vbDefaulButton2, que representa el segundo botón
512 vbDefaulButton3, que representa el tercer botón

Cuadro de mensaje (InputBox).

InputBox pide al usuario que teclee una frase, por ejemplo su nombre, un título,
etc.

Por otra parte, la forma general de la función InputBox es la siguiente:

texto = InputBox("texto para el usuario", "titulo", "default", left, top)

texto es la variable donde se almacena el valor de retorno, que es el texto tecleado


por el usuario.
"texto para el usuario" y titulo tienen el mismo significado que en MsgBox.
default es un texto por defecto que aparece en la caja de texto y que el
usuario puede aceptar, modificar o sustituir; el contenido de esta caja es lo que en
definitiva esta función devuelve como valor de retorno.
left y top son las coordenadas de la esquina superior izquierda de la InputBox; si
se omiten, se dibuja la caja centrada en horizontal y algo por encima de la mitad de
la pantalla en vertical.

Ejemplo: Solamente utilizamos los dos primeros parámetros.

Dim res As String


res = InputBox("Introduce tu nombre: ", "Bienvenido")
MsgBox("Bienvenido a Zubiri " & res)

33
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Ejercicio 16

Crea un proyecto que tenga el siguiente formulario:

Para ello tendrás en cuenta:

Se deberá introducir un número entre 1 y 1000, si se introduce un


número que no esta en este rango saldrá un mensaje error indicándolo.
Al cargar el formulario el ordenador habrá pensado el número a aceptar
y la imagen será la cara verde.
Apareceran los siguientes mensajes dependiendo si el número
introducido es mayor o menor que el pensado por el ordenador.

“El numero es grande, intenta de nuevo” y la imagen será la cara azul.


“El número es pequeño, intenta de nuevo” y la imagen será la cara azul.

Si los números son iguales. Saldra el siguiente mensaje: “Felicidades,


has acertado!” y la imagen será la cara amarilla.
• Al pulsar Salir se terminará el programa.

34
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

• Guarda el proyecto con el nombre ejer16.

Cambia el ejercicio anterior de forma que si


acierta salga además la siguiente ventana y
pregunte si quiere seguir jugando o no.

Si contesta que si volvemos a la ventana inicial y


si no salimos del programa.

Los nombres de las imágenes son:

• j0424454.wmf

• j0433818.png

• j0433820.png

Para obtener un número aleatorio se utilizarán las siguientes funciones:


randomize() y rnd()

Randomize(): es el generador de los números aleatorios.


Rnd(): devuelve un número entre 0 y 1.
Int(número): se queda con la parte entera del número.

En nuestro ejercicio como queremos que el número a acertar este entre 1 y 1000
aplicaremos la siguiente formula: x = Int(Rnd() * 1000) + 1

Esto se deberá ejecutar al cargar el formulario:

Randomize()
x = Int(Rnd() * 1000) + 1

Se deberá aplicar el evento

Evento KeyDown o KeyUp.

Son eventos relacionados con el teclado. KeyDown cuando se pulsa una tecla
y KeyUp cuando se suelta la tecla. En ambos casos devuelve un argumento
e que nos da información sobre la tecla pulsada.

Private Sub TextBox1_KeyUp(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp

El argumento e.keycode obtiene el código de teclado. Para saber que tecla se ha


pulsado se puede preguntar por el código (el número) o mediante una constante.
En nuestro ejercicio deberemos preguntar si se ha pulsado la tecla ENTER cuyo
código es 13 o su constante Keys.Enter.

If e.KeyCode = Keys.Enter Then ..

35
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Para las teclas siguientes se pone:

e.Shift
e.Alt
e.Control

CONTROLES: COMBOBOX Y LISTBOX

Listas (ListBox)

Una lista es un control en el que se pueden mostrar


varios registros o líneas, teniendo uno o varios de ellos
seleccionado(s). Si en la lista hay más registros de los
que se pueden mostrar al mismo tiempo, se añade
automáticamente una scrollBar.

Propiedades

Propiedad Descripción

Ítems añadir los elementos en el cuadro de lista

Text texto del elemento seleccionado

Selecteditem texto del elemento seleccionado

Selectedindex posición del elemento seleccionado (comienza a contar desde 0)

Ítems.count número de elementos de la lista

Selectionmode Indica si la selección de los elementos en simple (uno) o múltiple

Nota: Cuando SelectionMode esta a multisimple no todas las propiedades funcionan

Métodos

Método Descripción

Ítems.add(elemento) Añade elemento al cuadro de lista

Ítems.clear Borra todos los elementos de la lista

Ítems.remove Borra el elemento seleccionado

Getselected(elemento) Indica si elemento esta seleccionado en la lista o no.

Ítems.item(i) Devuelve el elemento indicado en el índice.

Cajas combinadas (ComboBox)

Es semejante a las listas pero en este caso

36
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

para ver las distintas opciones se debe pulsar a la flecha.

Tanto las propiedades como los métodos anteriores mencionados sirven para el
combobox.

Ejercicio 17

Crea un proyecto que contenga el siguiente formulario.

Teniendo en cuenta:

 Al cargar el formulario en el combobox se cargarán los 5 elementos.


 Al pulsar el botón Seleccionar en el label aparecerá un mensaje indicando
la opción seleccionada.
 Al pulsar el botón Salir el programa termina.
 Guardar el proyecto con el nombre ejer17.

Ejercicio 18

Crea un proyecto que contenga el siguiente formulario.

Teniendo en cuenta:

 Al cargar el formulario se cargarán los 5 elementos en el listbox.


 Al seleccionar un elemento en el listbox aparecerá directamente un mensaje
en el label indicando el elemento seleccionado.

37
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

 En el textbox aparecerán dos números: el primer número indicará la


posición del elemento seleccionado (se empieza a contar desde cero) y el
segundo número cuantos elementos hay en el listbox.
 Guarda el proyecto con el nombre ejer18.

SENTENCIAS DE CONTROL. Sentencia SELECT

La sentencia Select permite ejecutar una de varias acciones en función del valor de
una expresión. Es una sentencia especial para decisiones múltiples.

La sintaxis:

Select Case expresión-test


Case expresión 1
Sentencias
Case expresión 2
Sentencias
……
Case Else
Sentencias
End Select

Ejemplo:

Select Case X
Case 1
Txbox1.text= “1”
Case 2, 3
Txbox1.text= “2 o 3”
Case 4 To 9
Txbox1.text= “4 a 9”
Case Else
Txbox1.text= “otro valor”
End Select

SENTENCIAS DE CONTROL. Sentencia WHILE

La sentencia While ejecuta una o más sentencias cero o más veces dependiendo de
que la condición se cumpla o no.

La sintaxis:

While (condición)
Sentencias
End While

Ejemplo:

While (x>0)

Suma=suma+x

38
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

x=x+1

End While
Textbox1.text=suma

SENTENCIAS DE CONTROL. Sentencia DO ….. LOOP WHILE

La sentencia do… loop while ejecuta una o más sentencias una o más veces
dependiendo de que la condición se cumpla o no.

La sintaxis:

Do
Sentencias
Loop While (condición)

Ejemplo:

Do
Suma=suma+x
x=x-1
Loop While (x>0)

Textbox1.text=suma

SENTENCIAS DE CONTROL. Sentencia FOR

La sentencia for ejecuta una o más sentencias tantas veces como se indique en la
experesión2.

La sintaxis:

For var=expresion1 to expresion2 [step expresion3]


[sentencias]
exit for -> si se quiere romper el blucle
[sentencias]
next var
Si no se indica el step expresión3 se incrementará en uno

X=val(textbox1.txt)

For var=1 to x

SENTENCIA->exit for

next

39
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Ejercicio 19

Crea un proyecto que contenga el siguiente formulario.

Teniendo en cuenta:

 Al seleccionar una opción en una de las listas en la otra también quedará


seleccionada. A cada nombre le corresponde un color y viceversa.
 Botón añadir: al introducir un nombre y color en las cajas de texto se
añadirá cada uno a la lista correspondiente. Se deberá controlar si el nombre
y color están en la lista, si es así se indicará mediante un mensaje que están
introducidos.
 Botón Borrar: se borrará la opción seleccionada en el listbox.
 Botón Limpiar todo: dejará vacíos los listbox.

 Botón Esta?: al introducir un nombre se comprobará si está o no en el


listbox. Si esta aparecerá seleccionada en la lista junto con su
correspondiente color. Si no esta se indicará mediante un mensaje.

40
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Ejercicio 20

Crea un proyecto que contenga el siguiente formulario.

En un listbox se puede seleccionar más de una opción. Para ello en el listbox la


propiedad SelectionMode cambiar a MultiSimple

Teniendo en cuenta esto y pulsando el botón Calcular sacar un mensaje donde se


indicará; el número de elementos seleccionados, si está el nombre escrito en la caja
de texto.
Ejercicio 21

Realiza el siguiente formulario

41
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

 El usuario debe seleccionar un elemento de la primera lista y un segundo


elemento de la segunda.
 Al pulsar el botón comprobar, si la combinación es la correcta, aparecerá un
mensaje indicando que ha acertado. Si no es la correcta un mensaje que no ha
acertado.

Las combinaciones correctas son:

Wimblendon-Hierba
Open USA – Artificial
Open Australia-Hierba artificial
Roland Garros- Tierra

 Si no se ha seleccionado algún elemento se indicará mediante un mensaje .


 Después de aparecer un mensaje éste desaparecerá cuando se seleccione algún
elemento de la lista.

EVENTOS RELACIONADOS CON EL RATON

MouseDown, MouseUp y MouseMove

El evento MouseDown sucede cuando el usuario pulsa cualquiera de los botones


del ratón, mientras que el evento MouseUp sucede al soltar un botón que había
sido pulsado.
El evento MouseMove sucede al mover el ratón sobre un control o formulario.

Estos eventos tienen un argumento e que nos devuelve la siguiente información:


Ejemplo:

El argumento e.Button indica cuál de los botones del ratón ha sido pulsado o
soltado, de forma que tomará los siguientes valores:

Ejemplo: En función del botón pulsado saldrá un mensaje que lo indica.

42
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Los argumentos e.x y e.y

X e Y son las coordenadas del puntero del ratón.

Para cambiar el puntero del mouse se utilizará la propiedad Cursor.


Ejercicio 22

Para ello se tendrá en cuenta:

 La imagen aparecerá en cualquier parte de la ventana. (earth.ico).


 Al pulsar el botón en cualquier parte, la imagen se situará en la parte superior
izquierda, siendo posible mover la imagen en la ventana. .

Para realizar lo anterior se utilizará el método SetBounds(x


as integer, y as integer, width as integer, height as
integer) que establece los límites del control en la ubicación
y tamaño indicado.

 Cambia el siguiente programa: ahora la imagen aparecerá centrada cuando se


pulse el ratón.
 Cambiar el programa para que la imagen siga al ratón a través de la ventana.
 Cambia el programa pero en este caso aparecerá las coordenadas de x e y la
imagen no debe salir de la ventana.

43
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Ejercicio 23

• A la izquierda de la ventana aparecerán 4 imágenes

• Con el botón seleccionar seleccionaremos la imagen que hemos indicado en


el cuadro de texto (hay que comprobar que el número introducido está entre
1 y 4, si no es así saldrá un mensaje de error.
• Al pulsar el botón fondo se cambiará el color de fondo del formulario con el
color que anteriormente hemos seleccionado con las barras de
desplazamiento. Debajo deberá aparecer el color que se le va a aplicar al
fondo.
• La imagen seleccionada aparecerá en el lugar donde se ha pulsado con el
ratón.
• Al pulsar el botón comenzar las imágenes volverán a su posición inicial.
• Al pulsar el botón salir se saldrá del programa.

Ejercicio 24

Crea un formulario y comprueba que realizan las siguientes propiedades de un


formulario y los valores que toman.

Propiedades de un formulario
Cursor

FormBorderStyle

Locked

44
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

MinimizeBox

Icon

ShowIcon

ShowlnTaskBar

Size

StartPosition

Windowstate

Ejercicio 25

Crea un proyecto que contenga el siguiente formulario:

Es obligatorio utilizar el Select Case.

El cursor siempre debe de estar en el cuadro de texto.

Se introducirá el número del DNI y al pulsar el botón Letra saldrá un mensaje


indicando el dni junto con su letra correspondiente.

Para calcular la letra se deberá calcular el resto del número entre 23.El resto dará
un número que esta entre y 22 .A cada número le corresponde una letra, que se
indica en la tabla de abajo.

0 T 4 G 8 P 12 N 16 Q 20 C
1 R 5 M 9 D 13 J 17 V 21 K
2 W 6 Y 10 X 14 Z 18 H 22 E
3 A 7 F 11 B 15 S 19 L

Si no se introduce un número se deberá sacar el siguiente mensaje:

45
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Ejercicio 26

Realiza el siguiente formulario utilizando la estructura for..

 Al pulsar el botón introduce… saldrá un mensaje indicando que se introduzca


el número, por defecto aparecerá el 5.
 Al pulsar el botón contar mostrará los siguientes 10 números consecutivos a
partir del número introducido.

Ejercicio 27
Realiza el siguiente formulario

46
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

 El botón de salir provocará la terminación de la aplicación.


 Se escribirá un número en el cuadro de texto. Al pulsar el botón aceptar
realizara siguientes cálculos: factorial, cuadrado y si es o no primo.
 En el cuadro de texto donde se introduce el número para operar con él, sólo
podrán introducir números. Se deberá poder borrar los números introducidos
para corregir.
Para ello se deberá utilizar el evento KeyPress teniendo en cuenta que:

• e.keychar nos indica la tecla pulsada (carácter)


• propiedad KeyChar es de solo lectura

• para que no se tenga en cuenta la pulsación de una tecla se tendrá que


poner la propiedad e.Handled=true ; con esto indicamos que la tecla ha
sido “manejada” por nuestro evento y se ignorará.
• Los códigos de las teclas son:
Códigos de los números desde 0-9 48-57 respectivamente
Códigos de letras a-z 65-90 respectivamente
Código de KeyBack (retroceso) 8
Código de KeyClear 12
Código de KeyReturn (Enter) 13
Código de KeyEscape 27

 El foco debe estar siempre en el cuadro de texto para poder introducir


números.
 El botón de aceptar deberá estar siempre inhabilitado, a no ser que tenga
número en el cuadro de texto y por lo tanto se puedan hacer los cálculos.
 Se deberá utilizar las variables necesarias así como las estructuras necesarias
para realizar los cálculos.

47
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

OBJETO: MENUSTRIP

Una barra de menús es un contenedor al que se le pueden añadir objetos


ToolStripMenuItem (menús de la barra, submenús o los elementos de los menús)
y ToolStripSeparator(separadores). Otros objetos que puede contener son
ToolStripCombobox (listas desplegables) y ToolStripTextBox (cajas de texto).

Movemos el objeto menustrip sobre el formulario y la barra de menús se colocará


en la parte superior.

Para ir introduciendo los diferentes objetos del menú iremos introduciendo desde la
misma barra sobre el cuadro Escriba aquí

La propiedad RenderMode para el estilo de


la barra de menus.

La propiedad Dock para indicar la posición


de la barra de menús. Por defecto es Top.

Los métodos:

Insertar elementos estándar añade de forma automática la barra de menús


estándar de windows, pero el código correspondiente a cada opción no.

48
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Editar elementos nos muestra los elementos que contienen menustrip y sus
propiedades. Siguiendo la pantalla anterior nos mostrará los elementos del menú.

Para visualizar los elementos de cada submenú seleccionaremos la opción a


visualizar y en la propiedad Datos seleccionamos DropDownItems …

Aparecerán todos los submenús relacionados con la opción seleccionada en nuestro


caso con la opción Archivo.

Permite cambiar el orden


de los elementos o 49
eliminarlos
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Propiedades

Propiedad Descripción

text Texto que aparece en el menú o submenú.

tooltiptext Texto que aparece cuando se pasa el cursor sobre dicha opción.

Image Para añadir una imagen a la opción.

Enabled Para indicar si la opción esta activa o no.

Visible Para indicar si la opción esta visible o no.

Checked Para indicar si la opción esta seleccionada o no.

Hay muchas más propiedades que se irán utilizando según la necesidad.

También sobre el elemento y pulsando el botón derecho se puede acceder a las


propiedades más habituales.

A la hora de poner el nombre no hay que olvidar las siguientes recomendaciones:

50
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

En el título de menú (propiedad Text), se puede utilizar el símbolo de ampersand


(&) delante de un carácter para indicar la tecla de acceso rápido (las que aparecen
subrayadas, en la figura que aparece más arriba sería el carácter A).

Si una opción de menú implica la apertura de una ventana (por ejemplo, lo que
ocurre en el menú Abrir en las aplicaciones Windows), el título debe aparecer
seguido de tres puntos (por ejemplo, lo correcto sería “Abrir…”).

En las opciones más utilizadas se pueden utilizar atajos de teclado (combinaciones


de las teclas CTRL, ALT, SHIFT con otras). Para añadir a un elemento de menú un
atajo de teclado hay que seleccionar el elemento y en la ventana de propiedades
modificar la propiedad ShortcutKeys. Los atajos de teclado se deben poner en
aquellas etiquetas que no tienen submenús.

Se pueden utilizar separadores para agrupar las distintas opciones de un menú


desplegable. Para añadir un separador se puede utilizar el menú contextual e
indicar la opción “Separator” del menú “Insertar”

Ejercicio28

Crea el siguiente formulario:

Para ello se tendrá en cuenta lo siguiente:

• Para poner un fondo al formulario:


• Me.background.Image=System.Drawing.Images.FromFile(“..\..\Reso
urces\”nombre imagen.jpg”)
• Las opciones del menú tendrán las siguientes opciones:

Frases:
Saludar: en el textbox aparecerá “Hola a todos”.
Decir adiós: en el textbox aparecerá “Hasta luego”.
Nombre: en el textbox aparecerá tu nombre y apellidos.

Imágenes:
Verde: el semáforo será verde.
Naranja: el semáforo será naranja.
Rojo: el semáforo será rojo.

51
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Salir saldrá del proyecto.

Realiza los siguientes cambios al proyecto anterior:

En el menú principal se añadirán otras tres opciones:

Probar
Cambiar: con las siguientes opciones:
Probar desaparecer: Desaparecerá la opción Probar.
Probar aparecer: Aparecerá la opción probar.
Probar activar: dejará la opción probar para ser utilizada.
Probar desactivar: dejará la opción probar sin poder ser utilizada.
Probar salir: dejará la opción salir activada.
Probar desactivar Salir: dejará la opción desactivada.

Nombre: con las opciones


Nombre: aparecerá el nombre en textbox.
Apellido: aparecerá el apellido en el textbox.

Imagenes
Se indicará que esta seleccionada la imagen además de aparecer la imagen
correspondiente abajo.

ImagenFondo: aparecerá una imagen como fondo del formulario.

52
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

OBJETOS: TIMER. TOOLSTRIP. IMAGELIST.

Timer

Si se desea que una acción suceda con cierta periodicidad se puede utilizar un
control Timer.
Este control produce de modo automático un evento cada cierto número de
milisegundos y es importante para crear animaciones o aplicaciones con
movimiento de objetos.

Propiedades

Propiedad Descripción

Interval Indica el número de milisegundos que deberá transcurrir entre


eventos Tick. Un valor positivo.

Enabled Para habitlitar o no el tempizador.

Métodos

Método Descripción

Start() Para activar el temporizador

Stop() Para desactivar el temporizador.

Eventos

Evento Descripción

Tick El timer funciona activando el evento tick

53
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Ejemplo: vamos a realizar un contador que cuente hasta 10 y comience de nuevo


desde cero.

Al ejecutarse este control no se verá.

ToolStrip

Generalmente, una barra de herramientas contiene botones que realizan la misma


función que las órdenes de uso más frecuente de los menús de la barra de menús
de una aplicación. Lo que se persigue con una barra de herramientas es
proporcionar al usuario una interfaz gráfica que le permita tener un acceso rápido a
las operaciones que se realizan con más frecuencia en una aplicación.

Una forma rápida y sencilla de añadir una barra de herramientas a una aplicación
es utilizando el control ToolStrip.

Movemos el objeto ToolStrip sobre el formulario y la barra de herramientas se


colocará en la parte superior.

Los objetos que se pueden introducir en una barra de herramientas son los
siguientes:

54
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Para ver las propiedades asociadas a cada elemento y manipularlas desde vista
diseño seleccionaremos editar elementos del cuadro que se obtiene al pulsar la
siguiente fecha.

El resto de las opciones son iguales a las del menú.

Nota: es la misma
ventana que la de
MenuStrip y funciona
igual.

En función del elemento seleccionado aparecerán unas propiedades u otras. Si los


objetos son ToolStripSplitButton, ToolStripCombobox, ToolDrowDownButton para
añadir los elementos correspondientes utilizaremos la propiedad Ítems dentro del
apartado Datos.

Miembro: ToolStripProgressBar se utiliza para indicar el progreso de una


operación. Las propiedades más habituales son:

Nombre Descripción

Obtiene o establece un valor que representa el retraso entre cada


MarqueeAnimationSpeed
actualización de la presentación de Marquee, en milisegundos.

Obtiene o establece el límite superior del intervalo que se define


Maximum
para este control ToolStripProgressBar.

Minimum Obtiene o establece el límite inferior del intervalo que se define

55
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

para este control ToolStripProgressBar.

Obtiene o establece el estilo que ToolStripProgressBar utiliza


Style
para mostrar el progreso de una operación.

Obtiene o establece el valor actual del control


Value
ToolStripProgressBar.

Avanza la posición actual de la barra de progreso la cantidad


PerformStep
indicada por la propiedad Step

Si queremos utilizar las propiedades en tiempo de ejecución sería:

También sobre el elemento y pulsando el botón derecho se puede acceder a las


propiedades más habituales.

Una vez creada la barra de herramientas solo hace falta asociar el código a ejecutar
cuando se actúa (se produce un evento) sobre cada uno de los elementos.
El evento más común es al hacer Clic.

Imagelist

Con este objeto se puede disponer de una lista de imágenes para después poder
utilizarlas como deseemos.

56
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Al igual que MenuStrip y ToolStrip al añadir el objeto este aparecerá en la parte


inferior del formulario y no se verá añ ejecutar.

Tamaño de imágenes: indicamos el tamaño que van a tener las imágenes que
vamos a guardar en la lista de imágenes.

Profundidad..: indicamos la calidad de la imagen.

Elegir imágenes: nos permite introducir las imágenes en la lista.

Cada imagen en la lista tiene asociado un índice (un número) de forma que si
queremos acceder a una imagen de la lista lo haremos mediante la siguiente forma:

ImageList1.Images(indice)

donde indice es un número entero que comienza desde cero.

Ejemplo:

Si queremos cargar una imagen que se encuentra en un imagelist cuando se carga


el formulario haremos.
Private Sub Form1_Load(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load

Me.PictureBox1.Image = Me.ImageList1.Images(2)
57
End Sub
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

ContextMenuStrip

Proporciona un menú contextual que se asocia a un control. Los menús


contextuales aparecen en la posición del mouse (ratón) cuando el usuario hace clic
con el botón secundario-

Como en el resto de los elementos al añadir un contextMenuStrip éste aparecerá en


la parte inferior y no ser verá en la ejecución del proyecto.

Las propiedades ShowImageMargin y ShowCheckMargin me permite añadir a


los elementos una imagen al lado del texto o la opción de seleccionado
respectivamente.

Para añadir los elementos utilizaremos la opción Editar elementos o directamente


desde la ventana que se crea:

58
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Como se ha dicho en la definición un ContextMenuStrip debe estar asociado a un


control. Este control puede ser un formulario, toolstrip, menustrip, textbox… y la
forma de asociar es:

A un formulario

Me.ContextMenuStrip = Me.ContextMenuStrip1

A un textbox

Me.TextBox1.ContextMenuStrip = Me.ContextMenuStrip1

En general:

Me.Control.ContextMenuStrip = Me.ContextMenuStrip1

siendo control el nombre del control al cual queremos asociar el menú contextual.

Recuerda que una vez asociado el menú contextual éste solamente aparecerá al
pulsar el botón secundario del ratón sobre dicho elemento.

Ejercicio 29

Copia en una nueva carpeta la carpeta del ejercicio anterior y realiza las siguientes
modificaciones:

• Cambia el nombre del formulario: ejercicio 29


• Introduce un nuevo objeto el Timer . A través de él los iconos del
formulario irán cambiando cada vez que pase 750 msg. El orden será:
Face01.ico, Face02.ico, Face03.ico, Face04.ico eta Face05.ico.

Para cambiar una una imagen de tipo .ico se deberá utilizar la siguiente
sentencia:

Me.Icon() = New System.Drawing.Icon("..\..\resources\imagen.ico")

59
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

• Introduce un nuevo objeto ToolStrip con los siguientes elementos:

- Las imágenes de tres semáforos. Al pulsar en uno de ellos aparecerá la imagen


abajo.

Estas operaciones son iguales que las opciones que realizamos en la barra de
menús Imágenes.
En programación uno de los objetivos es intentar no repetir código y para ello se
utilizan las llamadas a funciones y procedimientos. (más adelante se tratará el
tema)
En nuestro caso al pulsar el botón del semáforo verde y seleccionar de la barra de
menús Imágenes/verde el código es lo mismo, ¿como evitamos repetir el código?

El código de la barra de menús imágenes/verde esta ya creado y es el siguiente:

Private Sub VerdeToolStripMenuItem_Click(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
BerdeaToolStripMenuItem.Click
PictureBox1.Load("..\..\resources\j0407175.jpg")
VerdeToolStripMenuItem.Checked = True
NaranjaToolStripMenuItem.Checked = False
RojoToolStripMenuItem.Checked = False
End Sub
Y el código del botón semáforo verde es el mismo, para que repetirlo? Lo que
hacemos llamar al procedimiento que contiene el mismo código, en nuestro caso
VerdeToolStripMenuItem_ClicK , de la siguiente manera:

Private Sub ToolStripButton1_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles ToolStripButton1.Click

Call VerdeToolStripMenuItem_Click(sender, e)

End Sub
Para realizar la llamada al Nombre del procedimiento
procedimiento

Con las otras dos opciones es lo mismo inténtalo.

- Un separador.

- Un cuadro de texto y un botón Aparecer. En el cuadro de texto se introducirá el


nombre del fichero de una imagen y al pulsar el botón Aparecer, se pondrá la
imagen como fondo del formulario. Las imágenes de los montes son:
mendi1.jpg, mendi2.jpg, mendi3.jpg y mendi4.jpg

60
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Si se introduce un nombre que no existe aparecerá el siguiente mensaje

- Un separador.

- Un SplitButton Frases con las opciones Saludar y DecirAdios

Al seleccionar Saludar saldrá en


el cuadro de texto la frase:
Hola a todos!!!!

Al seleccionar DecirAdios saldrá


la frase: Hastaluego

- Un nuevo botón con una imagen creada por uno mismo.

Editor de iconos: utilizando el editor de iconos dibujamos la imagen que queramos.

Para ello seleccionaremos proyecto/agregar un nuevo elemento/ archivo de


mapa bits. Si queremos guardar la nueva imagen en la carpeta Resources ésta
deberá estar seleccionada cuando añadimos el nuevo elemento.

61
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Una vez realizada la nueva imagen pulsamos el botón derecho y seleccionamos


Guardar. A continuación para volver de nuevo al proyecto seleccionaremos Cerrar.

Al pulsar dicho botón cambiaremos el texto del cuadro del texto al color, tamaño,
tipo de letra y estilo que uno quiere. Recuerda que para cambiar un texto se debe
de utilizar New Font.

• Al pasar el ratón sobre los botones deberá salir un mensaje que indique lo
que va a hacer. Ejemplo:

• Al pasar el ratón sobre la barra de herramientas éste cambiara de aspecto.


• Crea un menú contextual sobre el formulario de la siguiente forma:

62
Visual .NET
Microsoft Visual Studio 2005 Unidades Didácticas 12, 13, 14, 15, 16

Al pulsar sobre una de las opciones se pondrá la imagen correspondiente como


fondo del formulario.

63