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.
L i c . L i t m a n P . P a r e d e s H u e r t a 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:
L i c . L i t m a n P . P a r e d e s H u e r t a 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: 13Así 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},
L i c . L i t m a n P . P a r e d e s H u e r t a 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
L i c . L i t m a n P . P a r e d e s H u e r t a 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.
OrEl 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.
OrElseEl 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 Tipo de datos que devuelve Valores del argumento "expresión"
CBool (expresión) Boolean Cualquier valor de cadena o expresión numérica.CByte (expresión) Byte De 0 a 255; las fracciones se redondean.CChar (expresion) Char Cualquier expresión de cadena; los valores deben ser de 0 a 65535.CDate(expresion) Date Cualquier representación válida de una fecha o una hora.
CDbl(expresion) Double Cualquier valor Double, ver la tabla anterior para los valores posibles
CDec(expresion) Decimal Cualquier valor Decimal, ver la tabla anterior para los valores posibles.
CInt(expresion) Integer Cualquier valor Integer, ver la tabla anterior para los valores posibles, las fracciones se redondean.
CLng(expresion) Long Cualquier valor Long, ver la tabla anterior para los valores posibles, las fracciones se redondean.
L i c . L i t m a n P . P a r e d e s H u e r t a Página 21
CObj(expresion) Object Cualquier expresión válida.
CShort(expresion) Short Cualquier valor Short, ver la tabla anterior para los valores posibles, las fracciones se redondean.
CSng(expresion) Single Cualquier valor Single, ver la tabla anterior para los valores posibles.
CStr(expresion) String
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).
CType (expresion, Tipo)
El indicado en el segundoparámetro
Cualquier tipo de datos
Val(expresion) Double Una cadena de caracteres.
Fix(expresion) Depende del tipo de datos
de la expresiónCualquier tipo de datos
Int(expresion) Depende del tipo de datos
de la expresiónCualquier 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 DivisorSí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
L i c . L i t m a n P . P a r e d e s H u e r t a 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
L i c . L i t m a n P . P a r e d e s H u e r t a Página 21
< Instrucción (si la expresión evaluada devuelve Verdadero)>
Else
< Instrucción (si la expresión evaluada devuelve Falso)>
End IfEjemplo:If b = 0 ThenConsole.WriteLine("Error: División Entre Cero")ElseIf a <> b ThenRes = a / bConsole.WriteLine("El Resultado de La División es: {0}", Res)ElseConsole.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
Case Else
L i c . L i t m a n P . P a r e d e s H u e r t a Página 21
’ 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
L i c . L i t m a n P . P a r e d e s H u e r t a 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 StringFor Each s In "Hola Mundo"Console.WriteLine(s)NextConsole.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 WhileSe repetirá mientras se cumpla la expresión lógica que se indicará después de WhileSintaxis:While <expresión>.Lo que haya que hacer mientras se cumpla la expresiónEnd 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.
L i c . L i t m a n P . P a r e d e s H u e r t a 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.
L i c . L i t m a n P . P a r e d e s H u e r t a Página 21
El IDE de Windows ApplicationA 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ñoAl 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ódigoEsta ventana contendrá todo el código que realizara los diferentes eventos, procedimientos,
instrucciones del formulario.
L i c . L i t m a n P . P a r e d e s H u e r t a Página 21
Mayormente para activar esta ventana y añadir cualquier código, siempre se tendrá que hacer doble clic en el control deseado.
Cuadro de HerramientasContiene los controles que se dibujan en el formulario, en tiempo de diseño y no en tiempo de
ejecución.
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 SolucionesEn 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 PropiedadesEsta ventana nos mostrara todas las propiedades del Item seleccionado, puede ser de un
formulario, módulo, control, etc.
L i c . L i t m a n P . P a r e d e s H u e r t a Página 21
Ventana de ErroresEsta ventana nos mostrara todos los errores que ocurran en tiempo de ejecución del programa.
Barra de HerramientasEsta 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.
L i c . L i t m a n P . P a r e d e s H u e r t a 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.
L i c . L i t m a n P . P a r e d e s H u e r t a 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 Descripción
(Name) Permite identificar el formulario, su prefijo de cualquier formulario es frm
AccepButton Si está establecido, el botón se activa cuando el usuario presiona la tecla [Enter] ([INTRO])
AccessibleDescription Descripción que se proporciona a clientes con accesibilidad.AccessibleName Nombre que se proporciona a los clientes con accesibilidad.AccessibleRole Función que se proporciona a clientes con accesibilidad.AllowDrop Determina si el control recibe notificaciones de arrastrar y colocar.
AutoScaleMode 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.
AutoScroll Determina si aparecen automáticamente las barras de desplazamiento cuando los controles están situados fuera del área de clientes del formulario.
AutoScrollMargin Establece el margen alrededor del control durante el AutoScroll.AutoScrollMinSize Tamaño lógico mínimo para la zona de desplazamiento automático.AutoSize Establece si el formulario se adecua al tamaño especificado de los controles.AutoSizeMode Especifica el modo del tamaño del formularioBackColor Color de fondo a utilizar para mostrar texto o gráficos en el control.BackGroundImage Imagen de fondo utilizada para el formulario.
BackGroundImageLayout Especifica cómo se presentara la imagen de fondo del formulario, puede ser en mosaico, estirado, centrada.
CancelButton Si está establecido, el botón se activa cuando el usuario presiona la tecla ESCCausesValidation Indica si este control causa y genera eventos de validación.ContextMenuStrip Indica el menú contextual que se muestra cuando el usuario hace clic derecho.
ControlBox Determina si el formulario tiene un cuadro de menú control el que se encuentra en la esquina superior derecha de la ventana.
Cursor Indica el tipo de cursor que aparece al pasar el Mouse por el controlEnabled Indica si el control está habilitadoFont Indica la fuente utilizada para mostrar texto en el control.
ForeColor Indica el color de primer plano utilizado para mostrar texto o gráficos en el control.
FormBorderStyle 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.
HelpButton Determina si un formulario tiene botón de ayuda enla barra de título.
IconIndica 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.
ImeMode Determina el estado IME (Editor de Métodos de Entrada) del objeto cuando se selecciona.
IsMDIContainer Determina si el formulario es un contenedor MDI.
KeyPreview Determina si los eventos de teclado para los controles del formulario se registran junto con el formulario.
Language Indica el idioma traducido actualmente.Localizable Determina si se va a generar el código localizable para este objeto.Location Posición de la esquina superior izquierda del control, respecto al contenedor.Locked Determina si se puede mover o cambiar de tamaño el control.
MainMenuStrip Indica el menú principal del formulario. Debe establecerse en un componente de tipo MainMenuStrip.
L i c . L i t m a n P . P a r e d e s H u e r t a Página 21
Propiedad Descripción
MaximizeBox Determina si el formulario contendrá el botón de maximizar.MaximunSize Indica el tamaño máximo de la ventana al maximizar.MinimizeBox Determina si el formulario contendrá el botón de minimizar.MinimunSiza Indica el tamaño mínimo de la ventana al minimizar.
Opacity Determina la opacidad o transparencia del formulario; 0% es transparente, 100% es opaco (visible)
Padding Indica el espacio entre los controles que va a contener el formulario.
RightToLeft Indica si el control debe dibujarse de derecha a izquierda para idiomas que se escriben en esa dirección.
ShowIcon Determina si se muestra el icono del formulario en la barra de título.ShowInTaskBar Determina si el formulario aparece en la barra de tareas de Windows.Size Determina el tamaño del formulario o control en píxeles.SizeGripStyle Determina cuando se muestra SizeGrip en un formulario.StarPosition Determina la posición del formulario cuando aparece por primera.Tag Datos definidos por el usuario asociado con el controlText Muestra el texto contenido en el formulario en la barra de título.
TopMost Determina si el formulario está sobre todos los demás formularios que no son de nivel superior, incluso cuando esta desactivado.
TransparencyKey Indica el color que parece transparente cuando se aplica al formulario.UseWaitCursor Indica si se muestra un cursor de espera.
WindowsState Determina el estado visual inicial del formulario, puede ser minimizado, maximizado o normal.
MétodosVamos a tocar los métodos más utilizados, ya que existen un sin fin de métodos.
Método Descripción
Activate Activa el formulario y le otorga el foco
Close Cierra el formulario
CreateControl Obliga a que se cree el control, incluidos el identificador y los controles secundarios.
CreateGraphics Crea el objeto Graphics para el controlDispose Sobrecargado. Libera los recursos utilizados por componentes.FindForm Recupera el formulario en el que se encuentra el control.Finalize Libera todos los recursos del formulario y del sistema.Focus Establece el foco de entrada al control.GetType Obtiene el objeto Type de la instancia actual.Hide Oculta el formulario o control al usuario.Invalidate Sobrecargado, Invalida una región específica del control y hace que se envié un
mensaje de dibujo al control.LayoutMdi Organiza los formularios MDI secundarios del formulario MDI principal.Refresh Obliga al control invalidar su área cliente y acto seguido obliga a que vuelva a
dibujarse el control y sus controles secundarios.RemoveOwnedForm Quita un formulario con propietario de este formulario.ResetText Restablece el valor predeterminado de la propiedad Text.Select Sobrecargado, activa un control.Show Muestra el control o formulario al usuario.ShowDialog Sobrecargado. Muestra el formulario como un cuadro de dialogo modal.Update Hace que el control vuelva a dibujar las regiones no válidas en su área de cliente.
Validate Valida el último control no validado y sus predecesores, pero sin incluir el control actual.
Eventos
L i c . L i t m a n P . P a r e d e s H u e r t a Página 21
Vamos a tocar los eventos más utilizados, ya que existen una cierta cantidad considerables de eventos.
L i c . L i t m a n P . P a r e d e s H u e r t a Página 21
ControlesTenemos 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.
L i c . L i t m a n P . P a r e d e s H u e r t a 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.ComponentesSolo 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.
L i c . L i t m a n P . P a r e d e s H u e r t a Página 21