vbnet 2012 - semana 3

16
VISUAL BASIC NET 2012 VICTOR M. SANCHEZ FALCON 1 Contenido. Uso de Estructuras de Control o Repetitivas Uso de Controles ListBox, ComboBox Construcción de Aplicaciones MDI o Posicionamiento de formularios Windows en formularios MDI o Funcionamiento de Aplicaciones MDI o Diseño de Menús con el control MenuStrip, barras de Herramientas con el ToolStrip y barras de estado con el StatusStrip. /

Upload: martin-sanchez-falcon

Post on 02-Jan-2016

249 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Vbnet 2012 - Semana 3

VISUAL BASIC NET 2012

VICTOR M. SANCHEZ FALCON 1

Contenido. Uso de Estructuras de Control

o Repetitivas Uso de Controles ListBox, ComboBox Construcción de Aplicaciones MDI

o Posicionamiento de formularios Windows en formularios MDI o Funcionamiento de Aplicaciones MDI o Diseño de Menús con el control MenuStrip, barras de Herramientas con

el ToolStrip y barras de estado con el StatusStrip.

/

Page 2: Vbnet 2012 - Semana 3

VISUAL BASIC NET 2012

VICTOR M. SANCHEZ FALCON 2

Resolución de aplicaciones usando Estructuras Repetitivas Son procesos que permiten repetir una serie de instrucciones, ya sea controlada mediante un contador o mediante el resultado de evaluar una expresión lógica. Las instrucciones Exit Do y Exit For permiten salir del ciclo repetitivo en cualquier momento. Veamos algunas aplicaciones de este tema:

Ejercicio 1

Diseñar una aplicación que permita mostrar 20 veces la palabra INSTITUTO.

Do While (ExprLógica) Instrucciones (si la Exp. Lógica es Verdadera) …. [Exit Do] … Loop

Do Instrucciones (si la Exp. Lógica es Verdadera) …. [Exit Do] … Loop While (ExprLógica)

For Var=ValorInicial to ValorFinal [step inc / dec ] Instrucciones …. [Exit For] Next

Do Instrucciones (si la Exp. Lógica es Falsa) …. [Exit Do] … Loop Until (ExprLógica)

Page 3: Vbnet 2012 - Semana 3

VISUAL BASIC NET 2012

VICTOR M. SANCHEZ FALCON 3

Private Sub btnLeer_Click(…)

Dim n As Integer Do While n < 20

n = n + 1 TextBox1.AppendText(“INSTITUTO” + vbCrLf)

Loop End Sub

Private Sub btnLeer_Click(…)

Dim n As Integer Do

n = n + 1 TextBox1.AppendText(“INSTITUTO” + vbCrLf)

Loop While n < 20 End Sub

Private Sub btnLeer_Click(…)

Dim n As Integer Do

n = n + 1 TextBox1.AppendText(“INSTITUTO” + vbCrLf)

Loop Until n >= 20 End Sub

Private Sub btnLeer_Click(…)

Dim n As Integer For n = 1 To 20

TextBox1.AppendText(“INSTITUTO” + vbCrLf) Next

End Sub

Control ListBox. Propiedades, Métodos y Eventos.

Una caja de lista es útil cuando al usuario se le presenta un conjunto de opciones fijas (el puede escoger solamente de las opciones mostradas, no hay posibilidad de teclear otra alternativa). Un ejemplo puede ser al ofrecer una lista de los dias de la semana, los lugares para vacacionar de una agencia de viajes, o los tratamientos ofrecidos por un salón de belleza.

Propiedades.

• Name: se puede anteceder el prefijo lst al nombre. • Items: permite ingresar elementos en tiempo de diseño. • SelectionMode: establece la manera de seleccionar los elementos de la lista,

puede ser seleccionando un solo elemento (one), o varios elementos (Multisimple).

Page 4: Vbnet 2012 - Semana 3

VISUAL BASIC NET 2012

VICTOR M. SANCHEZ FALCON 4

• SelectedIndex: definida en tiempo de ejecución, y permite obtener el número de índice del elemento seleccionado (número entero mayor o igual a CERO, si no se selecciona ningún elemento se obtiene -1 .

• SelectedItem: definida en tiempo de ejecución, y permite obtener el nombre del elemento seleccionado.

Métodos.

• Add: permite agregar elementos en tiempo de ejecución.

ListBox1.Items.Add(“elemento”)

• Remove: permite eliminar un elemento seleccionado de la lista, usando el nombre

del elemento.

ListBox1.Items.Remove(“elemento”)

• RemoveAt: permite eliminar un elemento seleccionado de la lista, usando el número de índice del elemento.

ListBox1.Items.RemoveAt(índice)

• Clear: elimina todos los elementos de la lista.

ListBox1.Items.Clear()

Eventos. • SelectedIndexChanged: ocurre cuando el valor de SelectedIndex cambia.

Page 5: Vbnet 2012 - Semana 3

VISUAL BASIC NET 2012

VICTOR M. SANCHEZ FALCON 5

Ejercicio 2

Diseñar una aplicación que permita generar los primeros 20 números pares, que los muestre en un listbox y además obtener el promedio de ellos.

Ejercicio 3

Diseñar una aplicación que contenga 5 botones que permitan obtener los siguientes requerimientos (mostrar los elementos en ListBox):

- Generar 30 números aleatorios comprendidos entre 50 y 100, y mostrar en una caja de mensaje cuantos pares e impares se han obtenido.

- Generar la siguiente serie de términos: 4/3, 8/3, 12/3, …… (30 términos)

- Mostrar una caja de entrada que solicite un numero entero que represente a la cantidad de términos generados de la siguiente serie: 10, 13, 16, 19, …..

- Mostrar una caja de entrada que solicite un numero entero que represente a tabla de multiplicar del 1 al 12, de dicho número.

- Generar 10 números aleatorios pares cualesquiera, y luego mostrar en una caja de mensaje el mayor y menor de dichos números.

Page 6: Vbnet 2012 - Semana 3

VISUAL BASIC NET 2012

VICTOR M. SANCHEZ FALCON 6

Ejercicio 4

Diseñar una aplicación que permita pasar los elementos de una lista a otra, además, deberá contabilizar los elementos en cada una de ellas. También deberá permitir agregar y eliminart elementos a la primera lista. Al cargar el formulario la primera lista deberá mostrar 3 elementos, y la segunda, un elemento.

Page 7: Vbnet 2012 - Semana 3

VISUAL BASIC NET 2012

VICTOR M. SANCHEZ FALCON 7

Control ComboBox. Propiedades, Métodos y Eventos.

Un ComboBox es un control que combina las características de un ListBox y de un TextBox, es decir, permite mostrar una serie de elementos o ítems en la parte de la lista, y se comporta como un textbox por que el usuario puede ingresar datos. Hay tres tipos de Cuadros combinadas (Simple, DropDown y DropDownList). El valor que se coloca en la propiedad DropDownStyle es el que determina el tipo. Los Cuadros Combinados DropDown y DropDownList son una buena opción cuando el espacio es limitado, porque toda la lista se muestra como un menú de cascada, así no ocupa el espacio en la pantalla hasta que se da clic a la flecha hacia abajo. Los Cuadros Combinados Simple y DropDown se considera cuando el usuario puede introducir una opción que no esté predefinida.

Propiedades. • Name: se puede anteceder el prefijo cbo al nombre.

• DropDownStyle: determina el estilo del ComboBox. Puede ser Simple (1), en

donde los elementos se muestran en una zona inferior, el estilo DropDow (2), en este se despliega los elementos al hacer clic sobre el botón de lista. En ambos estilos, el usuario puede interactuar con la parte Textual, a diferencia del estilo DropDownList (3) en donde no se puede interactuar.

Los métodos y eventos de este control son similares en cuanto a su uso al de los ListBox.

Ejercicio 5

Diseñar una aplicación que permita mostrar 3 articulos de computo (Mouse, Monitor y Teclado) en un combo. Y que al seleccionar uno de ellos, muestre su imagen correspondiente y su precio (Mouse: 10, Monitor: 200, Teclado: 30). Se deberá ingresar la cantidad, y luego deberán agregarse a los cuadros de lista que se hallan en la parte inferior. El importe se halla del producto de la cantidad por el precio unitario. Dependiendo del tipo de documento elegido se aplicara el IGV del 18% al subtotal (suma de los importes), es decir, solo a las Facturas. Mostrar los importes del subtotal, IGV, descuento (10% si el subtotal es mayor o igual a 1500.oo), y el importe total a pagar.

Page 8: Vbnet 2012 - Semana 3

VISUAL BASIC NET 2012

VICTOR M. SANCHEZ FALCON 8

Diseño de G.U.I. G.U.I son las siglas de Graphic User Interface o Interfaz Gráfica de Usuario, y se define como la parte de una aplicación a través de la cual el usuario se comunica con la aplicación. Visualiza información para el usuario y obtiene entradas de datos del usuario. Una GUI utiliza elementos gráficos, usualmente un ratón para interactuar con el usuario. Regularmente incluye menús, botones, iconos y cuadros de texto. Criterios para diseñar una GUI. Menús, Barras de herramientas. Ayuda y accesibilidad

• La base de una GUI es una ventana, una superficie visual que contiene los elementos gráficos necesarios para utilizar la aplicación.

– Note que los desarrolladores a menudo se refieren a una ventana como un formulario

• Los menús proporcionan listas de opciones que permiten al usuario desempeñar una acción deseada.

– Muchas aplicaciones presentan una barra de menú en la parte superior de la ventana para proporcionar acceso rápido a las herramientas más utilizadas

• Algunos controles despliegan información y aceptan entradas del usuario. – Los controles comunes son botones, cuadros de texto, cuadros de lista y

etiquetas • Algunas aplicaciones utilizan una barra de herramientas para proporcionar acceso fácil

a comandos u opciones específicas. • Permite la creación de interfaces de usuario “Enriquecidas” de próxima generación.

Page 9: Vbnet 2012 - Semana 3

VISUAL BASIC NET 2012

VICTOR M. SANCHEZ FALCON 9

– Video – Audio – Imágenes en 2-D – Imágenes en 3-D

• Utiliza el lenguaje de marcado de aplicaciones extensible (XAML) para implementar la interfaz de usuario.

Elementos de una buena interfaz de usuario

• Diseño intuitivo y consistente. • Uso eficiente de menús y barras de herramientas. • Un sistema de ayuda comprensible. • Fácil de navegar.

Diseño intuitivo y consistente

• Los usuarios pueden comprender intuitivamente cómo utilizar la aplicación. • Ayuda al usuario a familiarizarse con la interfaz de usuario rápidamente. • Ejemplos:

– Los controles se etiquetan apropiadamente – Los tipos y tamaños de fuente son consistentes – Los controles similares son colocados de forma consistente en toda la

aplicación

Menús y Barras de Herramientas • Un sistema de menú y de barra de herramientas debería proporcionar acceso a toda la

funcionalidad disponible dentro de la aplicación. • Si se utiliza una barra de menú, debería generalmente ajustarse a estándares

establecidos. – Por ejemplo, un menú de archivo en la parte superior izquierda de la ventana,

con los comandos de Nuevo, Abrir y Guardar. • La barra de herramientas debería agrupar comandos relacionados y debería

proporcionar acceso a la mayoría de las herramientas utilizadas frecuentemente. Ayuda

• La asistencia debería estar disponible dentro de la aplicación. – No confíe sólo en manuales impresos

• La ayuda debería referirse a todas las características y funciones de la aplicación. • El sistema de ayuda debería ser “sensible al contexto”.

– Cuando un usuario solicita asistencia, la información proporcionada debería estar basada en la situación o ubicación actual del usuario dentro de la aplicación

• Utilice un tooltip (información sobre la herramienta) para identificar los controles. • Un tooltip es una descripción breve de un control que emerge cuando el ratón flota

sobre el control. Fácil de navegar

• Proporciona una variedad de maneras para que el usuario se mueva a través de la interfaz de usuario.

• Ratón. • Tecla de tabulación. • Flechas de dirección. • Atajos de teclado (tales como Ctrl-N, el cual pone en negritas el texto seleccionado). • Es importante adherirse a los principios de accesibilidad generales, por ejemplo,

algunos usuarios podrían no ser capaces de utilizar un ratón.

Page 10: Vbnet 2012 - Semana 3

VISUAL BASIC NET 2012

VICTOR M. SANCHEZ FALCON 10

Formulario.Show( )

Dim MiForm as New Form1 MiForm.Show( )

Dim MiForm as New FormHijo MiForm.MDIParent = FormPadre MiForm.Show( )

Construcción de Aplicaciones MDI Visual Basic permite crear aplicaciones empleando una interfaz de múltiples documentos (MDI: Multiple Document Interface), o dicho en términos de Visual Basic, múltiples formularios. En una aplicación MDI, se pueden abrir varias ventanas hijas. Cada una de estas ventanas hijas (formularios) son iguales entre sí. En una aplicación MDI puede haber varias ventanas hijas, pero solo una ventana padre por aplicación. El formulario padre actúa como contenedor de los formularios hijos. Muchos procesadores de textos bajo Windows son buenos ejemplos de aplicaciones MDI. Para cargar formularios en un proyecto y poder interactuar entre ellos, tenemos diferentes opciones: Instanciamos un formulario y lo cargamos. Lo que permite cargar varias instancias de un mismo formulario. Utilizamos una instancia por defecto para cargar el formulario utilizando el método Show. En un formulario MDI, los formularios hijos serán cargados usando:

Ejercicio 6

Crear un nuevo proyecto de nombre EJERICICIO_06. Por defecto se crea Form1. A este formulario lo convertiremos en un MDI, para lo que modificaremos las siguientes propiedades:

• MDIContainer: True • WindowState: Maximized • Name: frmPrincipal

Formulario Padre

Formulario Hijo 1

Formulario Hijo 2

Formulario 1

Formulario 2

Formulario 3

Ejemplo: MDI (Multiple Document Interface) Ejemplo: SDI (Simple Document Interface)

Page 11: Vbnet 2012 - Semana 3

VISUAL BASIC NET 2012

VICTOR M. SANCHEZ FALCON 11

La segunda propiedad es solamente para hacer que se halle maximizado al iniciar la ejecución. Podrá notar que su color de fondo es particularmente más oscuro que el de un formulario común.

Diseño de Menús con el control MenuStrip, barras de Herramientas con el ToolStrip y barras de Estado con el StatusStrip.

Permite establecer una barra de menú, en donde las opciones se almacenan en una colección de ítems, los que permiten activar todas las opciones o comandos del proyecto. Una vez insertado el MenuStrip en un formulario, se puede inmediatamente editar el texto de cada uno de los elementos. Se pueden incluir barras separadoras entre grupos de opciones, además de incluir atajos de teclado e imágenes.

Page 12: Vbnet 2012 - Semana 3

VISUAL BASIC NET 2012

VICTOR M. SANCHEZ FALCON 12

Dim MiForm as New frmEjercicio1 MiForm.MDIParent = me MiForm.Show( )

Para escribir el código en cada opción de menú, solo debe abrir el editor de código del elemento, y programar en el evento clik. En el ejemplo siguiente el Menú Ejercicio 1 permite abrir un formulario de nombre frmEjercicio1, como un formulario hijo.

Permite establecer una barra de herramientas, en donde las opciones se almacenan en una colección de ítems. Se definen los comandos que son mas utilizados en la aplicación, y se pueden establecer botones, etiquetas, y otros elementos más.

Para el ejemplo, estamos eligiendo dos buttons, un separator y luego otro button.

Modificamos las propiedades DisplayStyle, para definir si solo queremos que se muestre texto, o solo imagen, o ambos.

Page 13: Vbnet 2012 - Semana 3

VISUAL BASIC NET 2012

VICTOR M. SANCHEZ FALCON 13

Si requiere que los botones sean mas grandes, primero deberá cambiar la propiedad AutoSize a False, luego modificar la misma propiedad en cada botón y cambiar el ancho en la propiedad Size, y con TextImageRelation podrá definir la alineación del texto respecto a la imagen.

Permite crear una barra de estado, en donde los paneles se almacenan en una colección de ítems. Son utilzados con la finalidad de mostrar algún tipo de información al usuario, aunque también permiten realizar algún proceso. En este ejemplo, elegimos tres StatusLabel, en los que modificamos las propiedades AutoSize a False, BorderSides o bordes en All, y el estilo de borde (BorderStyle) en SunkenOuter para darle la apariencia de hundimiento 3D. Ademas podemos usar la propiedad Image y la posición del texto respecto a la imagen.

Page 14: Vbnet 2012 - Semana 3

VISUAL BASIC NET 2012

VICTOR M. SANCHEZ FALCON 14

ToolStripStatusLabel3.Text = Format(Date.Now, “HH:mm:ss”)

Process.Start(“IEXPLORE.EXE”) Process.Start(“C:\MisJuegos\MarioBros.exe”)

Dim p As Process p =Process.Start(“IEXPLORE.EXE”)

If p.HasExited Then ‘El proceso ha terminado

End If

For each p As Process In Process.GetProcesses ‘Acciones Next

Si el objetivo fuera mostrar la hora actual del sistema en el ToolStripStatusLabel3, incluimos un Timer con las propiedades Enabled en True, e Interval en 1000. Luego programamos en el evento Tick lo siguiente: Trabajando con Procesos La clase Process proporciona acceso a procesos locales y remotos, y permite iniciar y detener procesos del sistema local. Esta clase deriva del namespace System.Diagnostics.Process. Si deseamos manipular un procesos específico: Podriamos preguntar si el proceso ha terminado: Podriamos recorres los procesos activos (de la misma manera como se listan en el Administrador de Tareas): Además de cerrar o terminar los procesos, los que dependiendo de su tipo, se pueden usar los siguientes métodos.

Page 15: Vbnet 2012 - Semana 3

VISUAL BASIC NET 2012

VICTOR M. SANCHEZ FALCON 15

p.Close( ) ‘Libera todos los recursos asociados a un proceso p.CloseMainWindow( ) ‘Solicita el cierre del proceso, mas no la oblige a cerrarse p.Kill( ) ‘Obliga a que el proceso termine

Ejercicio 7

En un nuevo proyecto de nombre SEM3, crear el formulario ACCESO AL SISTEMA (frmAcceso), con la siguiente apariencia. El botón INGRESAR debe estar deshabilitado, y solo deberá habilitarse al ingresar un nombre de usuario y password. La clave correcta de ingreso es VBNET, la que si es ingresada, deberá cerrar el Acceso, y mostrar el formulario principal. Sólo deben permitirse hasta tres intentos incorrectos, luego de lo cual, se debe cerrar la aplicación.

Agregar un nuevo formulario al proyecto, será el formulario PANEL PRINCIPAL (frmPrincipal), de tipo MDI, que debe contener el siguiente menú y apariencia de barra de herramientas y de estado:

La barra de herramientas debe permitir cargar la Calculadora, Excel y el formulario frmTabla.

Page 16: Vbnet 2012 - Semana 3

VISUAL BASIC NET 2012

VICTOR M. SANCHEZ FALCON 16

La barra de estado, deberá mostrar el nombre del usuario ingresado en frmAcceso, y en el tercer panel la hora del sistema en el formato visto.

Desde el Menú Aplicaciones > Matemáticas > Area de un Rectángulo (frmRectangulo) Desde el Menú Aplicaciones > Matemáticas > Generación de Tablas de Multiplicar (frmTabla)