•
Lic. Litman P. Paredes Huerta
Pรกgina 21
LENGUAJE DE PROGRAMACION VISUAL BASIC ¿Por qué Visual Basic? La respuesta es muy sencilla, el Visual Basic te permite realizar unos buenos diseños en tus programas, además de que el programa que realices en Visual Basic se podrá correr (ejecutar) en casi todos los sistemas operativos de la Microsoft, y lo mejor, bueno a mi opinión, es mucho mas fácil de realizar los códigos, ya que tiene una ayuda de auto complementar.
¿Por qué Console Application y no Windows Application Forms? Utilizamos la Console Applicatión (Consola de Aplicación) porque ustedes, los que tienen deseos de aprender, les será más fácil de aprender la lógica que van a necesitar para resolver cualquier algoritmo que se les presente, y además por que casi todos los códigos que vamos a usar en la Console Application, lo vamos a usar en Windows Application Forms. Bueno, no uso el Windows Application para comenzar a programar, porque me parece que les enseñaría a manejar moto sin saber manejar bicicleta, me entienden no?, de lo que habla?, en otras palabras, si no aprenden a ver como uno puede capturar y mostrar datos mediante código y no mediante unos controles, al principio les sería más fácil, pero conforme avancemos no les va a quedar en claro, y es por eso que uso primero Console Application, pero no se preocupen, que solo lo vamos a usar unos cuantos aplicaciones, okis. En Microsoft Visual Basic 2008, nos permite diseñar las interfaces gráficas de usuario de una o mas aplicaciones, es decir el que se puede crear formularios que contengan a otros formularios u objetos diversos como los TextBox, ComboBox,
¿Qué es Lenguaje de Programación? En informática, cualquier lenguaje artificial que puede utilizarse para definir una secuencia de instrucciones para su procesamiento por un ordenador o computadora. Es complicado definir qué es y qué no es un lenguaje de programación. Se asume generalmente que la traducción de las instrucciones a un código que comprende la computadora debe ser completamente sistemática. Normalmente es la computadora la que realiza la traducción. Los lenguajes de programación permiten comunicarse con los ordenadores o computadoras. Una vez identificada una tarea, el programador debe traducirla o codificarla a una lista de instrucciones que la computadora entienda. Un programa informático para determinada tarea puede escribirse en varios lenguajes. Según la función, el programador puede optar por el lenguaje que implique el programa menos complicado. También es importante que el programador elija el lenguaje más flexible y más ampliamente compatible para el caso de que el programa tenga varias aplicaciones.
Lic. Litman P. Paredes Huerta
Página 21
Algoritmos: Son representaciones, estos pueden ser: 1. Lenguaje Natural.- Es el lenguaje común (coloquial). 2. Lenguaje Estructurado.- Es un lenguaje mas limitado que el anterior, con reglas de sintaxis y semántica definidas, esto quiere decir que consiste en crear programas con instrucciones agrupadas en un estricto orden secuencial, el cual es imprescindible conservar para la resolución de un problema. a. Pseudocódigo; lenguaje universal para comunicarse entre programadores, esto quiere decir que es un conjunto de instrucciones en lenguaje natural, como el castellano o el ingles, de acuerdo a la persona que desarrollará un algoritmo basado en dicho lenguaje natural, en conclusión, es elaborar el algoritmo usando palabras y frases que se comprendan fácilmente. b. Código; lenguaje orientado a un tipo de compilador especifico, para ser interpretado por el computador, en otras palabras es un conjunto de instrucciones que son parte de un lenguaje de programación especifico que se escriben en orden secuencial y se almacenan en un archivo al que se denomina programa, cuando el programa es pequeño se le denomina mini-programa o con el nombre de macro (en inglés se le denomina Script). 3. Lenguaje Simbólico.- Es una representación que usa símbolos predefinidos para diagramar un algoritmo, con el fin de que sea fácil de seguir la lógica de la solución que se desea expresar en forma de un flujo de pasos a realizar, indicando el inicio y el termino de los mismos a. Diagramas de flujo; b. Carta N-S; PSEUDOCODIGO Lectura Obtener un dato inicial Solicitar un dato inicial Requerir un dato de entrada En otras palabras, lectura viene a ser la entrada de datos que nosotros vamos a requerir para poder hallar la solución, por eso, para nosotros la Entrada va ser el sinónimo de Lectura. Se deduce a: Leer <Dato> (Dato de entrada) Estructura Operar sobre el dato obteniendo nuevo valor Procesar los datos, obteniendo nuevo valor En otras palabras, la estructura lo conoceremos como Instrucciones, esto quiere decir que las instrucciones son todos los procesos, cálculos, comparaciones etc., que nosotros haremos para hallar la solución. Se deduce a: Lic. Litman P. Paredes Huerta
Página 21
Escritura Mostrar el resultado Visualizar el resultado Imprimir el valor resultante Como la misma palabra lo dice, vamos a escribir o mejor dicho vamos a mostrar el resultado de las instrucciones hechas (operaciones). Se deduce: Escribir <Valor Resultante> INSTRUCCIONES CONSOLE Read, nos captura o lee el dato que el usuario ingresa. Variable = Console.Read ReadLine, nos captura o lee el dato que el usuario ingresa, pero a la vez hace un cambio de línea al terminar de leer el dato. Variable = Console.ReadLine Write, nos permite mostrar ya sea una cadena (texto) o un dato numérico (número). Para mostrar texto y datos calculados o capturados Console.Write(.Texto a Mostrar {0},{1}, {2}, ., {n}., Var0, Var1, Var2,., Varn) Para mostrar texto Console.Write(.Texto a Mostrar.) WriteLine, nos permite mostrar ya sea una cadena (texto) o un dato numérico (número), y a la vez hace un cambio de línea, después de haber mostrado el dato. Para mostrar texto y datos calculados o capturados Console.WriteLine(.Texto a Mostrar {0},{1}, {2}, ., {n}., Var0, Var1, Var2,., Varn) Para mostrar texto Console.WriteLine(.Texto a Mostrar.) Como se habrán dado cuenta, que en la función Write y WriteLine, seguido del texto que deseamos mostrar pongo {0}, {1} etc. Pues lo pongo porque para mostrar una variable o un dato seguido del texto que muestro por ejemplo: si deseo mostrar el siguiente texto, seguido de la variable N que contiene un número digamos que 13, deberíamos de escribir el siguiente código. Console.WriteLine("El Valor de la Variable N es : {0}", N) Y lo que nos mostrara en pantalla seria lo siguiente El Valor de la Variable N es: 13 Así que lo deben de tener en claro, que por cada variable o dato que queremos mostrar después del texto que mostramos, tendremos que agregar {0}, en donde el 0 indica que numero de dato se va mostrar, mejor dicho lo convierte en un array y este muestre el valor del array comenzando del 0, así que si queremos mostrar 5 datos después del texto tendremos que escribir {0}, {1},
Lic. Litman P. Paredes Huerta
Página 21
{2}, {3}, {4}, y si queremos mostrar tres datos después del texto tendremos que escribir desde el 0 al 2, espero que les halla quedado en claro, jejejeje, bueno seguiremos con los conceptos.
AMBITO DE VARIABLES El ámbito indica en qué lugar de la aplicación desea utilizar la variable y puede ser una de las siguientes palabras claves. Dim, Static, Private o Public. Dim: Se puede utilizar a nivel de procedimiento y a nivel del formulario. Si se declara una variable a nivel de procedimiento con la palabra Dim, Visual Basic reinicializa (borra su contenido) la variable cada vez que ejecuta el procedimiento. Ejemplo: Dim a As Integer Static: Se utiliza solo a nivel del procedimiento. Cuando una variable se declara con la palabra Static, Visual Basic no reinicializa la variable cada vez que se ejecuta el procedimiento, solo lo hace la primera vez. Esto quiere decir que la variable conserva su valor entre una llamada al procedimiento y otra. Ejemplo: Static b As Double Private: Se utiliza solo a nivel del módulo e indica que la variable es privada; es decir, solo va a ser reconocida dentro del módulo donde ha sido declarada. Ejemplo: Private c As String Public: Se utiliza solo a nivel de módulo e indica que la variable es pública; es decir, va a ser reconocida en toda la aplicación. Public d As Date OPERADORES UTILIZDOS EN LA APLICACIÓN DE CONSOLA And El operador And solo utilizamos cuando queremos que se cumpla una serie de expresiones, por ejemplo: If a > b And a > c Then Console.WriteLine("a es mayor que b y c") End If Como vemos en este ejemplo, hacemos dos comparaciones, el primero si a es mayor que b, y la segunda si a es mayor que c, si estas dos expresiones (comparaciones) resultan verdaderas, nos mostrará un mensaje diciéndoos que a es mayor que b y c. AndAlso El operador AndAlso comprueba también una seria de expresiones, pero a comparación del And, este comprueba siempre y cuando la expresión anterior resulta ser verdadera por ejemplo: If a > b AndAlso a > c Then Lic. Litman P. Paredes Huerta
Página 21
Console.WriteLine("a es mayor que b y c") End If Como vemos en este ejemplo, hacemos dos comparaciones, el primero si a es mayor que b, y la segunda si a es mayor que c, si la primera expresión (a > b) resulta ser verdadera hará la comparación de la segunda expresión (a > c), pero si no lo es, ya no se evaluara la expresión siguiente. Pero si las dos resultan verdaderas, nos mostrará un mensaje diciéndoos que a es mayor que b y c. Or El operador Or solo utilizamos cuando queremos que se cumpla una expresión de toda una serie de expresiones, por ejemplo: If Promedio < 0 Or Promedio > 20 Then Console.WriteLine("Ingrese la Nota Correcta (1 . 20)") End If En este ejemplo, si promedio es menor a cero o promedio es mayor a 20 nos mostrará un mensaje indicándonos que la nota que se ingreso es incorrecta, solo basta que una de las dos expresiones evaluadas sea verdadera. OrElse El operador OrElse comprueba también una seria de expresiones, solo quebastara que una expresión sea verdadera para que no realice las demás evaluaciones. Por ejemplo: If Promedio < 0 OrElse Promedio > 20 Then Console.WriteLine("Ingrese la Nota Correcta (1 . 20)") End If En este ejemplo si la primera expresión resulta verdadera, ya no realizara la siguiente expresión, en cambio si resultara falsa, realizara la siguiente expresión. FUNCIONES DE CONVERSIÓN Como se habrán dado cuenta que al activar la opción de Option Strict, este nos obliga que tenemos que utilizar funciones de conversión para cada tipo de dato, con lo que no hacíamos, si no lo estaba activado, como lo fue en los 8 primeros ejercicios, las funciones más utilizadas estarán de color verde, las funciones de conversión son las siguientes: Nombre de la función CBool (expresión) CByte (expresión) CChar (expresion) CDate(expresion)
Tipo de datos que devuelve Boolean Byte Char Date
CDbl(expresion)
Double
CDec(expresion)
Decimal
CInt(expresion)
Integer
CLng(expresion)
Long
Valores del argumento "expresión" Cualquier valor de cadena o expresión numérica. De 0 a 255; las fracciones se redondean. Cualquier expresión de cadena; los valores deben ser de 0 a 65535. Cualquier representación válida de una fecha o una hora. Cualquier valor Double, ver la tabla anterior para los valores posibles Cualquier valor Decimal, ver la tabla anterior para los valores posibles. Cualquier valor Integer, ver la tabla anterior para los valores posibles, las fracciones se redondean. Cualquier valor Long, ver la tabla anterior para los valores posibles, las fracciones se redondean. Lic. Litman P. Paredes Huerta
Página 21
CObj(expresion)
Object
CShort(expresion)
Short
CSng(expresion)
CStr(expresion)
CType (expresion, Tipo) Val(expresion) Fix(expresion) Int(expresion)
Cualquier expresión válida. Cualquier valor Short, ver la tabla anterior para los valores posibles, las fracciones se redondean. Cualquier valor Single, ver la tabla anterior para los valores posibles. Depende del tipo de datos de la expresión. Nota: Todos los objetos de Visual Basic, tienen unos métodos para realizar conversiones a otros tipos, al menos de número a cadena, ya que tienen la propiedad. ToString que devuelve una representación en formato cadena del número en cuestión (igual que CnStr).
Single
String
El indicado en el segundo parámetro Double Depende del tipo de datos de la expresión Depende del tipo de datos de la expresión
Cualquier tipo de datos Una cadena de caracteres. Cualquier tipo de datos Cualquier tipo de datos
Una de las funciones más utilizadas, para hallar restos es la función Mod, ya sea para diversas soluciones ya sean Matemáticas, físicas y entre otras. Mod: Devuelve el resto de una división, la sintaxis es la siguiente: Dividendo Mod Divisor Símbolos de Comparación = igual < Menor que > Mayor que <= menor o igual >= mayor o igual <> Distinto INSTRUCCIÓN CONDICIONAL Como vimos en la primera entrega, estas instrucciones nos permiten tomar decisiones, dándonos un resultado de Verdadero o Falso, a menudo esta instrucción es la más utilizada por todos los programadores, así que tendrás que aprendértela de memoria, y no te preocupes que es muy fácil de usar. Sintaxis: Primera Forma: If <expresión a evaluar> Then <Instrucción (si la expresión devuelve Verdadero)> Ejemplo: If a = b Then MessageBox(.Son Números Iguales.) Si la expresión a evaluar de a = b devuelve o mejor dicho es verdadera, este nos mostrará un mensaje, con el texto de .Son Números Iguales.. Segunda Forma: If <expresión a evaluar> Then <Instrucción (si la expresión evaluada devuelve Verdadero)> End If Lic. Litman P. Paredes Huerta
Página 21
Ejemplo: If b <> 0 Then Res = a / b Console.WriteLine("El Resultado de La División es: {0}", Res) End If Segunda Forma, lo utilizamos cuando tengamos que hacer mas de una instrucción si la expresión a evaluar resulta verdadera, en este caso si a es mayo que b, si es verdadero este hará la siguiente instrucción de a dividir entre b y el resultado guardarlo en una variable llamada Res, que después la mostraremos en pantalla. Tercera Forma: If <expresión a evaluar> Then < Instrucción (si la expresión evaluada devuelve Verdadero)> Else < Instrucción (si la expresión evaluada devuelve Falso)> End If Ejemplo: If b <> 0 Then Res = a / b Console.WriteLine("El Resultado de La División es: {0}", Res) Else Console.WriteLine("Error: División Entre Cero") End If Esta forma nos permite utilizar los dos tipos de resultados de la expresión evaluada, por ejemplo, si b es diferente a cero este dividirá a a, pero si es falso, nos mostrara un mensaje de Error. Cuarta Forma: If <expresión a evaluar> Then <Instrucción (si la expresión evaluada devuelve Verdadero)> Else <Instrucción (si la expresión evaluada devuelve Falso)> (todo en una misma línea) Ejemplo: If a = b Then MessageBox(.Son Números Iguales.) Else MessageBox(.No son Números Iguales.) (Todo en una misma línea) Esta forma no tan muy usada, solo en los casos cuando hay que hacer una sola instrucción en cada tipo de respuesta de la expresión evaluada, por ejemplo, si a es igual b nos mostrará un mensaje de Números Iguales, pero si es falso nos mostrara otro mensaje diciéndonos que No son Números iguales, y recuerden que es en una sola línea. Quinta Forma: If <expresión a evaluar> Then < Instrucción (si la expresión evaluada devuelve Verdadero)> ElseIf <expresión a evaluar> Then Lic. Litman P. Paredes Huerta
Página 21
< Instrucción (si la expresión evaluada devuelve Verdadero)> Else < Instrucción (si la expresión evaluada devuelve Falso)> End If Ejemplo: If b = 0 Then Console.WriteLine("Error: División Entre Cero") ElseIf a <> b Then Res = a / b Console.WriteLine("El Resultado de La División es: {0}", Res) Else Console.WriteLine("El Resultado de La División es: 1") End If
Bueno a mi parecer y si es que no me equivoco, esta es una de las formas más usadas, ya que son if anidados, como lo había en los pseudocódigos, el else es opcional, como lo ven en este ejemplo, si b es igual a cero, nos mostrara un mensaje de Error de División, pero si es falso, hará la siguiente evaluación que será si a es diferente de b hará la división y nos mostrará el resultado de la división, pero si es falso nos mostrar un mensaje, diciéndonos que el resultado de la división es 1, sin ser necesario dividir. Nota: Recuerda que para cada IF hay un THEN y un END IF, así como en el pseudocódigo. CONDICIONES MULTIPLES Este tipo de condiciones lo usamos para tener varios tipos de comparaciones (expresiones a evaluar). Sintaxis: Select Case <expresión a evaluar> Case <lista de expresiones> Instrucciones Case <otra lista de expresiones> Instrucciones Case Else
Si no se cumple ninguna de las listas de expresiones End Select Ejemplo: Select Case i Case 3 : ‘Instrucción a realizar Case 6 To 11
’Instrucción a realizar Case 14, 17
’Instrucción a realizar Case Is > 25 ’ Instrucción a realizar Lic. Litman P. Paredes Huerta
Página 21
Case Else ’ Instrucción a realizar End Select En el ejemplo, hacemos varias comprobaciones, si i vale 3 haremos la instrucción que sigue después de los dos puntos (podemos ejecutar solo una instrucción después de los dos puntos, si en caso hubiera mas instrucciones a ejecutar, estas instrucciones las pondríamos en la parte inferior del Case), en cambio si tiene un valor de 6 a 11 ejecutara la instrucción que se encuentra en su inferior, o si tiene el valor de 14 ó 17, ejecutara la instrucción que se encuentra en su inferior, o si i es mayor que 25, realizara la instrucción que se encuentra en su inferior, y por ultimo si no cumple ninguna comparación, existe el Case Else, que ejecutara su instrucción, siempre y cuando no se cumpla ninguna expresión en los demás Case. PROCESOS REPETITIVOS Los procesos repetitivos o llamados bucles, se utilizan para repetir el o los códigos, un número determinado de veces, para esto usaremos el For, que nos permitirá repetir un número determinado de veces el código. For / Next Con este tipo de bucle podemos repetir un código un número determinadode veces. Sintaxis: For <variable numérica> = <valor inicial> To <valor final> [Step <incremento>] ’contenido del bucle, lo que se va a repetir Next Primera Forma: Una de las formas mas utilizadas. For i = 1 To 10 ’contará de 1 hasta 10 ’la variable i tomará los valores 1, 2, 3, etc. Next Segunda Forma: Esta forma se utiliza para decirle como va a incrementar, ya sea como el ejemplo de 2 en 2. For i = 1 To 100 Step 2 ’contará desde 1 hasta 100 (realmente 99) de 2 en 2 ’la variable i tomará los valores 1, 3, 5, etc. Next Tercera Forma: Cuando queremos que un bucle sea en decreciente solo bastará darle un valor negativo, al número, como en el ejemplo, queremos que en vez que avance del 1 al 10 queremos que este vaya del 10 al 1. For i = 10 To 1 Step -1 ’contará desde 10 hasta 1 ’la variable i tomará los valores 10, 9, 8, etc. Next Lic. Litman P. Paredes Huerta
Página 21
For Each Este bucle repetirá o iterará por cada uno de los elementos contenidos en una colección. Sintaxis: For Each <variable> In <colección del tipo de la variable> ’Lo que se hará mientras se repita el bucle Next Ejemplo: Dim s As String For Each s In "Hola Mundo" Console.WriteLine(s) Next Console.ReadLine() Este bucle recorre cada uno de los caracteres de una cadena, en este caso recorrerá cada carácter de la cadena s (Hola Mundo)., comenzando por la H y de ahí la o y así hasta la última o de la palabra Mundo. ESTRUCTURAS REPETITIVAS Las estructuras repetitivas o llamados también bucles, se utilizan pararepetir el o los códigos, hasta que la expresión evaluada de un valor de Falso. While / End While Se repetirá mientras se cumpla la expresión lógica que se indicará después de While Sintaxis: While <expresión> .Lo que haya que hacer mientras se cumpla la expresión End While Ejemplo: While i < 10 Console.WriteLine(i) i=i+1 End While Este código escribirá el valor de i hasta que el valor de i tome el valor de 10 o más. Do / Loop Este tipo de bucle es muy parecido al anterior. Si se utiliza sólo con esas dos instrucciones, este tipo de bucle no acabará nunca y repetirá todo lo que haya entre Do y Loop. Pero este tipo de bucle se puede usar con dos instrucciones que nospermitirán evaluar expresiones lógicas: While y Until Pero no debemos confundireste While con el While/End While que acabamos de ver anteriormente. La ventajade usar While o Until con los bucles Do/Loop es que estas dos instrucciones podemos usarlas tanto junto a Do como junto a Loop, la diferencia está en que silos usamos con Do, la evaluación se hará antes de empezar el bucle, mientras quesi se usan con Loop, la evaluación se hará después de que el bucle se repita al menos una vez.
Lic. Litman P. Paredes Huerta
Página 21
Sintaxis: Primera Forma: Este bucle evalúa al principio, mejor dicho realizara el código o las instrucciones un número que digamos que sea n veces. Do While <expresión> Instrucción Loop Segunda Forma: Este bucle evalúa al final, mejor dicho realizara el código o las instrucciones n . 1 veces. Do Instrucción Loop While <expresión> Tercera Forma: Este bucle evalúa al principio, a diferencia que el primero realizara el código siempre y cuando la expresión sea falsa, mejor dicho realizara el código o las instrucciones n veces. Do Until <expresión> Instrucción Loop Cuarta Forma: Este bucle evalúa al final, a diferencia que el segundo realizara el código siempre y cuando la expresión sea falsa, mejor dicho realizara el código o las instrucciones n . 1 veces Do Instrucción Loop Until <expresión>
Crear Nuevo Proyecto Como ustedes ya saben hay dos formas de crear un nuevo proyecto, lo único que veremos, lo que tenemos que escoger, al crear un proyecto esta vez seleccionaremos .Windows Application., le pondremos un nombre y luego daremos clic en aceptar.
Lic. Litman P. Paredes Huerta
Página 21
El IDE de Windows Application A comparación de las consolas de aplicación tenemos un nuevo IDE, en este IDE cada vez que creamos un nuevo Item, se abrirá una nueva ventana, esto ya lo veremos en la aplicación que realizaremos más adelante. Ventana de Diseño Al crear una nueva solución de Windows Application, siempre nos aparecerá la siguiente ventana.
Como se darán cuenta acá el archivo siempre tendrá un nombre de Form1, que es el primer formulario del proyecto. ¿Qué es un Formulario? Es la ventana principal, porque sirve de fondo para los controles que se dibujan en una aplicación, como cajas de textos, etiquetas, botones, etc. Se podría decir que es un contenedor de controles y objetos. Ventana de Código Esta ventana contendrá todo el código que realizara los diferentes eventos, procedimientos, instrucciones del formulario.
Mayormente para activar esta ventana y añadir cualquier código, siempre se tendrá que hacer doble clic en el control deseado. Cuadro de Herramientas Contiene los controles que se dibujan en el formulario, en tiempo de diseño y no en tiempo de ejecución.
Lic. Litman P. Paredes Huerta
Página 21
Estos controles están divididos por clases, los controles más usados son los de Controles Comunes, más adelante ya veremos con más detalle cada control. Explorador de Soluciones En esta ventana se encuentra el formulario, también vas a poder encontrar todos los Item que agregas de aquí en adelante, ya sean formularios, módulos, clases, etc.
Ventana de Propiedades Esta ventana nos mostrara todas las propiedades del Item seleccionado, puede ser de un formulario, módulo, control, etc.
Lic. Litman P. Paredes Huerta
Página 21
Ventana de Errores Esta ventana nos mostrara todos los errores que ocurran en tiempo de ejecuciรณn del programa.
Barra de Herramientas Esta barra contendrรก diversos botones que suelen facilitar al programador en el uso del programa, al principio ya vimos que botones usรกbamos en las consolas de aplicaciones.
Lic. Litman P. Paredes Huerta
Pรกgina 21
Formularios (Forms) Introducción: Es una ventana muy importante porque aquí se dibujan o pegan todos los controles que necesitamos utilizar en nuestro programa o aplicación. Se pueden utilizar tantos formularios como se necesiten, y dependiendo de la utilidad que se les dé, estos serán de diferentes tipos. Así, se puede crear un formulario que contenga un gráfico, para visualizar información o para ingresar datos. Para dejar un poco más en claro, un formulario es una ventana típica de Windows. Estos están contenidos en forma automática en el escritorio de Windows o en su defecto dentro de otros formularios a los que llamaremos formularios MDI (Multiple Document Interface - Interfaz de Múltiples Documentos). Toda ventana es a su vez una interfaz gráfica de usuario la que permite interactuar a un usuario no muy experimentado de una manera muy simple con ella. Cada una de estas interfaces puede tener una gran funcionalidad inherente la que se concentra en la misma ventana o en determinados controles que están inmersos en ella. Como todo objeto, un formulario posee propiedades y métodos, así como a su vez soporta eventos que veremos a continuación. Tipos: Hay cuatro tipos de formularios, que son los más usados, como son: El formulario MDI, que es un contenedor de otros formularios, por ejemplo tenemos las ventanas de Word que es un formulario MDI, ya que contiene o puede contener diversas ventanas de documentos abiertos. Los formularios Child, que son aquellos formularios hijos, en otras palabras son todos aquellos formularios que van a ser contenidos en el formulario MDI. El formulario normal, que el que más vamos a usar, y el más común.
Lic. Litman P. Paredes Huerta
Página 21
El formulario Parents, que es aquel formulario que va a contener todos los controles de otro formulario, por ejemplo, si tenemos un formulario llamado frmPadre, que contiene un menú y un botón grabar y creamos un nuevo formulario de tipo parents llamado frmHijo y le especificamos en su propiedad de parents el formulario frmPadre, automáticamente el formulario frmHijo aparecerá con el menú y el botón grabar, bueno, eso ya lo veremos más adelante para que les quede más claro, así que no se preocupen.
Propiedades: Propiedad (Name) AccepButton AccessibleDescription AccessibleName AccessibleRole AllowDrop AutoScaleMode AutoScroll AutoScrollMargin AutoScrollMinSize AutoSize AutoSizeMode BackColor BackGroundImage BackGroundImageLayout CancelButton CausesValidation ContextMenuStrip ControlBox Cursor Enabled Font ForeColor FormBorderStyle HelpButton Icon ImeMode IsMDIContainer KeyPreview Language Localizable Location Locked MainMenuStrip MaximizeBox
Descripción Permite identificar el formulario, su prefijo de cualquier formulario es frm Si está establecido, el botón se activa cuando el usuario presiona la tecla [Enter] ([INTRO]) Descripción que se proporciona a clientes con accesibilidad. Nombre que se proporciona a los clientes con accesibilidad. Función que se proporciona a clientes con accesibilidad. Determina si el control recibe notificaciones de arrastrar y colocar. Determina cuando el formulario o el control, cuando la escala de la resolución de la pantalla o de la fuente de letra a cambiado. Determina si aparecen automáticamente las barras de desplazamiento cuando los controles están situados fuera del área de clientes del formulario. Establece el margen alrededor del control durante el AutoScroll. Tamaño lógico mínimo para la zona de desplazamiento automático. Establece si el formulario se adecua al tamaño especificado de los controles. Especifica el modo del tamaño del formulario Color de fondo a utilizar para mostrar texto o gráficos en el control. Imagen de fondo utilizada para el formulario. Especifica cómo se presentara la imagen de fondo del formulario, puede ser en mosaico, estirado, centrada. Si está establecido, el botón se activa cuando el usuario presiona la tecla ESC Indica si este control causa y genera eventos de validación. Indica el menú contextual que se muestra cuando el usuario hace clic derecho. Determina si el formulario tiene un cuadro de menú control el que se encuentra en la esquina superior derecha de la ventana. Indica el tipo de cursor que aparece al pasar el Mouse por el control Indica si el control está habilitado Indica la fuente utilizada para mostrar texto en el control. Indica el color de primer plano utilizado para mostrar texto o gráficos en el control. Controla la apariencia del borde del formulario. Esto también influye en como se muestra la barra de título y que botones pueden aparecer en ella. Determina si un formulario tiene botón de ayuda enla barra de título. Indica el icono para un formulario. Esto se muestra en el cuadro de menú del formulario del sistema y cuando el formulario se minimiza, Width: Ancho, Height: Altura. Determina el estado IME (Editor de Métodos de Entrada) del objeto cuando se selecciona. Determina si el formulario es un contenedor MDI. Determina si los eventos de teclado para los controles del formulario se registran junto con el formulario. Indica el idioma traducido actualmente. Determina si se va a generar el código localizable para este objeto. Posición de la esquina superior izquierda del control, respecto al contenedor. Determina si se puede mover o cambiar de tamaño el control. Indica el menú principal del formulario. Debe establecerse en un componente de tipo MainMenuStrip. Determina si el formulario contendrá el botón de maximizar. Lic. Litman P. Paredes Huerta
Página 21
Propiedad MaximunSize MinimizeBox MinimunSiza Opacity Padding RightToLeft ShowIcon ShowInTaskBar Size SizeGripStyle StarPosition Tag Text TopMost TransparencyKey UseWaitCursor WindowsState
Descripción Indica el tamaño máximo de la ventana al maximizar. Determina si el formulario contendrá el botón de minimizar. Indica el tamaño mínimo de la ventana al minimizar. Determina la opacidad o transparencia del formulario; 0% es transparente, 100% es opaco (visible) Indica el espacio entre los controles que va a contener el formulario. Indica si el control debe dibujarse de derecha a izquierda para idiomas que se escriben en esa dirección. Determina si se muestra el icono del formulario en la barra de título. Determina si el formulario aparece en la barra de tareas de Windows. Determina el tamaño del formulario o control en píxeles. Determina cuando se muestra SizeGrip en un formulario. Determina la posición del formulario cuando aparece por primera. Datos definidos por el usuario asociado con el control Muestra el texto contenido en el formulario en la barra de título. Determina si el formulario está sobre todos los demás formularios que no son de nivel superior, incluso cuando esta desactivado. Indica el color que parece transparente cuando se aplica al formulario. Indica si se muestra un cursor de espera. Determina el estado visual inicial del formulario, puede ser minimizado, maximizado o normal.
Métodos Vamos a tocar los métodos más utilizados, ya que existen un sin fin de métodos. Método Activate Close CreateControl CreateGraphics Dispose FindForm Finalize Focus GetType Hide Invalidate LayoutMdi Refresh RemoveOwnedForm ResetText Select Show ShowDialog Update Validate
Descripción Activa el formulario y le otorga el foco Cierra el formulario Obliga a que se cree el control, incluidos el identificador y los controles secundarios. Crea el objeto Graphics para el control Sobrecargado. Libera los recursos utilizados por componentes. Recupera el formulario en el que se encuentra el control. Libera todos los recursos del formulario y del sistema. Establece el foco de entrada al control. Obtiene el objeto Type de la instancia actual. Oculta el formulario o control al usuario. Sobrecargado, Invalida una región específica del control y hace que se envié un mensaje de dibujo al control. Organiza los formularios MDI secundarios del formulario MDI principal. Obliga al control invalidar su área cliente y acto seguido obliga a que vuelva a dibujarse el control y sus controles secundarios. Quita un formulario con propietario de este formulario. Restablece el valor predeterminado de la propiedad Text. Sobrecargado, activa un control. Muestra el control o formulario al usuario. Sobrecargado. Muestra el formulario como un cuadro de dialogo modal. Hace que el control vuelva a dibujar las regiones no válidas en su área de cliente. Valida el último control no validado y sus predecesores, pero sin incluir el control actual.
Eventos Vamos a tocar los eventos más utilizados, ya que existen una cierta cantidad considerables de eventos.
Lic. Litman P. Paredes Huerta
Página 21
Lic. Litman P. Paredes Huerta
Pรกgina 21
Controles Tenemos una diversidad de control y objetos que podemos usar en nuestras aplicaciones, ahora veremos algunos controles que más vamos a usar divididos en categorías. Controles Comunes. Como se van a dar cuenta, cada control tiene su icono, nombre, prefijo y su descripción.
Lic. Litman P. Paredes Huerta
Página 21
Nota: Los prefijos son una referencia, se utiliza para saber de qué control se habla en tiempo de diseño, no es obligatorio usarlo, pero es recomendable que se familiaricen, ya que la mayoría de programadores lo usan. Componentes Solo les muestro dos controles, que son los más usados.
Métodos Los métodos son casi los mismos que tiene el formulario, así que conforme vamos avanzando veremos uno que otro método propio de cada control. Eventos Los eventos también son muy parecidos a los eventos del formulario, solo tocaremos algunos eventos propios de cada control, conforme avancemos.
Lic. Litman P. Paredes Huerta
Página 21