SISTEMAS OPERATIVOS 6to
Desarrollo de Aplicaciones con Lenguajes Visuales
Docente / Martin Murdaca
Clase 2
UNIDAD 1
JUNIO – 2020
1. Presentación En primer lugar los felicito a todos los que se presentaron en la primera línea de comentarios de clase. Invito a quienes no lo hicieron a ponerse manos a la obra, así nos conocemos todos. Recuerden que esa es la primera tarea obligatoria.
Les recuerdo que sigo recibiendo todas sus dudas desde la plataforma Classrom.
Ante una interrupción en el servicio o imposibilidad de acceder al Classrom sigamos conectados a través de mi dirección de correo personal [email protected]. En esta clase se presentarán dos conceptos nuevos: los métodos y las propiedades. Por un lado, los métodos representan acciones que podemos realizar con los objetos del proyecto. Veremos que solo pueden modificarse en tiempo de ejecución, desde las líneas de código.
Por su parte, las propiedades, a diferencia de los métodos, consisten en cualidades que se les puede modificar a los objetos, por ejemplo para cambiar su apariencia. Estas pueden ser modificadas tanto en tiempo de diseño desde la ventana de Propiedades o en tiempo de ejecución.
Se examinarán las propiedades más importantes de los objetos, ejemplificando todo lo visto con actividades desarrolladas paso a paso.
SISTEMAS OPERATIVOS 6to
Desarrollo de los contenidos
¿Qué son las Propiedades y los métodos?
Propiedades
Los objetos de la vida real están cargados de propiedades. Su remera es de un color, de una determinada tela, de un talle en particular, etc. Entonces llegamos a la conclusión que la remera (objeto) no es más que la suma de sus propiedades. Por lo tanto, no nos debe llamar la atención que en programación, los objetos se comporten de igual manera. Hablando técnicamente, una propiedad es un atributo nominal de un objeto de programa-ción. Las propiedades definen las características del objeto, como el tamaño, la localización en la pantalla, el color, etc.
Métodos
El reproductor DVD es un objeto. Lo que hace a sus propiedades, sería la marca, el modelo, el tamaño, el formato, etc. Una definición completa de su reproductor debe comprender algo más que sus características técnicas. Debe incluir una descripción de lo que hace.
Por lo tanto, los métodos de su reproductor pueden ser: reproducir, avanzar y retroceder, cambiar lenguajes, entre otras posibles funciones.
De manera similar en la programación orientada a objetos un método es un procedimiento que puede llamarse para impartir alguna acción a un objeto. Los métodos siempre requieren de un objeto que les dé un contexto. Por ejemplo, existe un método Hide asociado con la mayoría de los objetos que lo oculta. En Visual Basic la palabra Hide por sí misma, no tiene significado, pero si la asociamos con un objeto, nos permitiría ocultarlo y hacerlo invisible.
En pocas palabras mientras las propiedades nos describen el objeto, los métodos permiten que el objeto haga algo. En la gramática de la programación los objetos son sustantivos, las propiedades son adjetivos y los métodos son los verbos.
¿Cómo asignar las Propiedades?
Las propiedades de los objetos pueden definirse en tiempo de diseño o en tiempo de ejecu-ción.
Concentremos nuestra atención en la primera. La semana pasada, desde el Libro Presenta-ción del lenguaje hablamos de la pantalla de Visual Basic y dentro de todos sus componen-
SISTEMAS OPERATIVOS 6to
tes. En la parte inferior derecha de dicha pantalla, nos encontramos con la ventana de Pro-piedades, tal como lo muestra la siguiente figura.
Figura 1 Ventana de Propiedades
Nombre del Objeto Tipo de Objeto
Nombre de la Propiedad Valor de la
Propiedad
Descripción de la Propiedad
Seleccionada
Con esta ventana podemos cambiar fácilmente el valor de una propiedad sin entrar en la programación del objeto. Por Ej.: si queremos que el formulario explicado en la clase ante-rior, cuando se inicie su ejecución el texto que se observa en la barra de título no sea Form1 sino otro, y que este se mantenga durante la ejecución de todo el proyecto, entonces debe-ríamos hacer lo siguiente.
En la lista desplegable que aparece en la parte superior de la ventana de propiedades, de-bemos elegir el objeto llamado Form1. Al seleccionar un objeto en la lista inferior solo apa-recerán las propiedades referentes a dicho objeto.
Elija la propiedad titulada Text y verá que al lado de la misma aparece el valor actual que es Form1, borre dicho texto y escriba Primer Formulario, verá cómo cambia el título de la barra del Formulario.
Noten que las propiedades se ordenan alfabéticamente para facilitar su ubicación, y si bien varios objetos presentan la misma propiedad, esto no significa que esta se comporte de la misma manera.
Por Ej.: la propiedad Text en el formulario modifica el texto de la barra de título, mientras que en el botón de comando modifica el texto que lo rotula. Además debe tener en cuenta que no todos los objetos presentan la misma cantidad de propiedades. Por eso, es muy im-portante que al momento de cambiar el valor de una propiedad se asegure que lo esté reali-zando con el objeto deseado.
SISTEMAS OPERATIVOS 6to
Probemos ahora con los botones de comando. En su primera aplicación habíamos creado un proyecto compuesto por un formulario y un botón. Este último presentaba la descripción Button1.
Si pretendemos cambiar dicha descripción debemos realizar los mismos pasos que efectua-mos para cambiar el título del formulario. La única diferencia se encuentra en el objeto que debe elegir, ya no será Form1, sino Button1, este objeto (Button) también tiene la propiedad Text, y a esta le asignaremos el valor “Imprimir Mensaje”.
El formulario se debería ver como en la
Figura 2:
Figura 2 Diseño del Formulario
Ahora pasemos a ver cómo se definen las propiedades en tiempo de ejecución, es decir, desde la ventana de código.
Si quisiéramos agregar un botón de comando a nuestra primera aplicación para borrar el mensaje, ya no lo podríamos hacer en tiempo de diseño, sino que deberíamos programarlo en el evento clic del botón Button2.
Los pasos serían:
1) Añadir al formulario un nuevo objeto Button. 2) Hacer doble clic sobre el para escribir el código. 3) Escribir la siguiente línea :
Label1.Text=””
Interpretemos esta línea de programación, Label1 es el nombre del objeto al cual le quere-mos cambiar el valor de la propiedad, Text es la propiedad que intentamos modificar y lo escrito entre comillas, es el nuevo valor que le queremos dar a la misma.
Resumiendo, la sintaxis para asignar el valor a una propiedad es:
Objeto.Propiedad=Valor
SISTEMAS OPERATIVOS 6to
¿Cómo programar un Método? El llamar o ejecutar los métodos de un objeto es similar al caso de las propiedades, en ambos casos, se hacen uso del operador punto.
A diferencia de las propiedades los métodos no pueden aplicarse en tiempo de diseño, solo se pueden programar.
A continuación se presenta la sintaxis general para llamar a los métodos de un objeto:
Objeto.Método Arg1, Arg2.....ArgN
Para ejemplificar este tema vamos a agregar dos botones más al proyecto, tal como se ob-serva en la Figura 3. Modifique la propiedad Text de cada uno para que luzcan igual a la figu-ra modelo.
Dentro de cada botón vamos a programar que el botón 1 o 2 sea el receptor del enfoque con el método Focus ().
Button1.Focus() ‘ esto lo programamos en el primer botón
Del mismo modo, programe el botón rotulado “Seleccionar Botón 2” pero haciendo referencia al button2.
Finalmente ejecute el proyecto para ver el funcionamiento de lo programado.
Cierre el proyecto y guarde los cambios.
Figura 3. Programando un Método
Nombre sus objetos
Un hábito de programación es el de establecer la propiedad Nombre (Name) de los objetos significativos de su aplicación. Es decir de aquellos, cuyas propiedades y métodos, espera usted usar en el código de la aplicación.
Cámbielos de la nomenclatura genérica, Form1, Button1, proporcionada por Visual Basic, por algo más significativo. Es convencional usar un prefijo de tres letras minúsculas cuando se nombra a los objetos (ver tabla Tabla I). Si lo remontamos a nuestro primer ejemplo seria más fácil si el button1 se llamara btnMostrar y el command2 btnBorrar, pues al aparecer la
SISTEMAS OPERATIVOS 6to
ventana de código sabríamos con certeza lo que estamos programando y no tendríamos que estar adivinando.
Tabla I. Convenciones para nombrar los objetos de Visual Basic
Objeto de Visual Basic
Prefijo
Ejemplo
Botón de Comando BUTTON btn btnSalir
Etiqueta LABEL lbl lblResultado
Cuadro de texto TEXT BOX txt txtApellido
Radio botón RADIOBUTTON rad radRojo
Casilla de Verificación CHECK BOX chk chkSonido
Cuadro Combinado COMBOBOX cbo cboEmpleads
Formulario FORM frm frmInicio
Cuadro de Lista LISTBOX lst lstUsuarios
Cuadro de dibujo PICTUREBOX pic picDibujo
COMENTARIOS – (‘) Y REM
Visual Basic nos brinda la posibilidad de agregar código que no será procesado en el momen-to de la ejecución del programa. La utilidad de hacerlo será la de poder dejar formalizado lo que creamos que en un futuro, pueda no ser entendido fácilmente.
Existen dos formas de indicar que estamos escribiendo un comentario. Si utilizamos el sím-bolo (‘), todo lo que exista a la derecha de esta, en esa misma línea de código, no será tenido en cuenta por Visual Basic. La sentencia REM (para los usuarios de DOS funciona de la mis-ma manera), debe encontrarse al inicio de una línea de código. Este requisito no necesita ser cumplido en el caso del apóstrofe.
Veamos tres tipos de comentarios posibles. El texto en color verde, será ignorado en el mo-mento de la ejecución del programa:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
‘Finaliza la ejecución del proyecto End
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
End „Finaliza la ejecución del proyecto
End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click REM End se utiliza para finalizar la ejecución del
proyecto End End Sub
También pueden aplicar o quitar comentarios, seleccionando la/s línea/s de código y pulsando los botones Marcar como comentario las líneas seleccionadas o Quitar
la marca de comentario de las líneas seleccionadas según corresponda.
SISTEMAS OPERATIVOS 6to
SÍMBOLO ( _ )
Para facilitar la lectura del código del programa, más puntualmente en líneas que se extien-den más allá del tamaño de la ventana, se recomienda partir la línea en varias (depende de la longitud de la misma), utilizando el símbolo ( _ ).
A continuación citamos un ejemplo…
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Label1.Text = _
"Mensaje de Bienvenida"
End Sub
Ahora desarrollaremos nuestra segunda aplicación de Visual Basic.
Arrancaremos el IDE de Visual Basic. Si Visual Basic está abierto y todavía tiene en pantalla el proyecto anterior, entonces vaya al Menú Archivo/Nuevo Proyecto, esto cerrará el proyecto anterior, y comenzará un proyecto nuevo.
En el proyecto actual, dibujen 7 botones de comando sobre el formulario. Tenga en cuenta que puede ir dibujando manualmente de a uno por vez, o haciendo doble clic sobre el botón de la barra de herramientas.
Aplicará las siguientes propiedades a los objetos de su proyecto, tal como lo indica la si-guiente figura.
Figura 4
Diseño del formulario de Colores
Nombre: frmColores
Text: Formulario de
Colores
Nombre: btnRojo
Text: Rojo
Nombre: btnFucsia
Text: Fucsia
Nombre: btnVerde
Nombre: btnAmarillo
Text: Verde
Text: Amarillo
Nombre:btnAzul
Nombre: btnVioleta
Text: Azul
Text: Violeta
Nombre: btnCerrar
Text: Cerrar
Tengan en cuenta, al cambiar las propiedades deben cerciorarse, que lo están realizando con el objeto deseado, recuerden mirar en la lista desplegable que aparece en la parte superior de la ventana de propiedades
SISTEMAS OPERATIVOS 6to
Figura 5
Cambiar una propiedad en tiempo de diseño
Desde esta lista desplegable, elegimos
el objeto para cambiar sus propiedades
Noten que ya comenzamos a nombrar los objetos teniendo en cuenta los prefijos de la tabla de convenciones (Véase Tabla I).
Además, hemos cambiado el título de los botones (descripción que se observa sobre el mis-mo botón) como el del formulario (texto de la barra de título) mediante la propiedad Text.
Habiendo finalizado con el trazado de objetos y el diseño de sus propiedades, pasaremos a la programación.
La idea del programa consiste en que al realizar un clic sobre cada botón, esto modifique el color de fondo del formulario de acuerdo al color elegido.
Entonces, programaremos el evento click de cada botón.
Comenzaremos por el botón que lleva el título “Rojo”. Haga doble clic sobre él. Observe que aparece el nombre btnRojo, que hace referencia a la propiedad Name, por lo tanto, no debe adivinar qué color está programando.
Se abrirá la ventana de código, escriba lo siguiente:
Private Sub btnRojo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRojo.Click
Me.BackColor = Color.Red
End Sub
Como a partir de las versiones .Net el formulario pasa a ser una clase de objeto cuando lo invocamos en la programación debemos hacerlo con el objeto Me.
La propiedad que nos permite modificar el color de fondo del fondo es backcolor. En Visual Basic existen un objeto Color ya definidas por el sistema, que identifican los colores. Estos son algunos de ellos:
SISTEMAS OPERATIVOS 6to
Tabla II. Propiedades del Objeto Color
Propiedad Color
Color.Red Rojo
Color.Green Verde
Color. Blue Azul
Color.Magenta Fucsia
Color.Yellow Amarillo
Color.Violet Violeta
Color.Black Negro
Color.White Blanco
Del mismo modo, sigan programando el resto de los botones.
Finalmente programaremos el botón bntCerrar. La instrucción End es la que finaliza la ejecu-ción del proyecto. Escríbala en el evento clic de este botón.
Cierre la ventana de código, y pruebe el proyecto
Guarden su segundo proyecto como Actividad 2.
Más Controles. Etiquetas y Cuadros de textos
Hasta ahora hemos trabajado con botones de comandos y formularios. Llegó el momento de conocer controles nuevos que nos permitirán aumentar la complejidad de nuestro progra-ma.
Supongamos que quisiéramos incluir en un formulario rótulos, textos que permanecerán fijos durante toda la ejecución del programa, tales como “Apellido y Nombre”, “Ingrese un Numero”, etc.
Y además de esto quisiera que el usuario pueda ingresar su nombre, apellido, etc. Es obvio que con lo visto hasta el momento no podemos hacerlo. Para crear entonces nuestros pro-pios cuadros de diálogo, aprenderemos el uso de dos controles nuevos, los Labels (etiquetas) y los TextBox (cuadros de texto).
Veamos un ejemplo…
Comenzaremos un nuevo proyecto, y trataremos de diseñar el formulario de la figura Figura 6.
Para facilitar la búsqueda de los controles nuevos en el cuadro de herramientas, las etique-
tas se encuentran representados por y los cuadros de texto por .
Para insertarlo en el formulario, se le realizan los mismos pasos descriptos anteriormente.
SISTEMAS OPERATIVOS 6to
Nombre: Label1 Text: Apellido
Nombre: Label2 Text: Nombre
Nombre: txtApellido Text: vacío Nombre: txtNombre Text: vacío Nombre: btnMostrar Text: Mostrar Datos
Nombre: Label3 Nombre: lblApeNom
Text: Apellido y Backcolor: a elección
Nombre Autosize: False
Nombre: btnCerrar
Figura 6
Text: Cerrar
Diseño del formulario de Datos Personales
Deben tener presente que no a todos los objetos de nuestro formulario le cambia-mos el valor de la propiedad nombre, el motivo radica en que no todos serán utili-zados en el código de nuestro proyecto.
Analicemos el comportamiento de nuestro programa, lo que pretendemos es lo siguiente. El usuario al ejecutar el proyecto ingresa su apellido y nombre en los cuadros de textos respec-tivamente. Luego, al pulsar sobre el botón btnMostrar, en la etiqueta lblApeNom mostrare-mos el Apellido y Nombre juntos.
Lo primero que deben preguntarse es, sobre qué objeto el usuario realizará una acción, co-mo indicamos anteriormente esperaremos el clic sobre el botón btnMostrar. Realicen un doble clic sobre éste, y escriba la siguiente línea de programación en la ventana de código:
Private Sub btnMostrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMostrar.Click
lblApeNom.Text = txtApellido.Text & txtNombre.Text End Sub
Porque lblApenom está ubicada del lado izquierdo, pues siempre que realicen una asigna-ción, esta debe implementarse de derecha a izquierda. Piensen esto, qué objeto va recibir los datos, la etiqueta, por eso la pusimos del lado izquierdo, de quiénes tomaremos los datos para cargarla, de los cuadros de textos, razón por lo cual quedan ubicados a la derecha. Algo más, no basta con indicar los nombres de los objetos con los que trabajaremos, sino que además debemos mencionar que propiedad vamos a modificar. Si se trata del texto que es-tos exhiben la propiedad es Text tanto para las etiquetas, como para los cuadros de texto. Cierren la ventana de código e inicie la ejecución del proyecto.
SISTEMAS OPERATIVOS 6to
Escriban un apellido, un nombre y pulsen el botón Mostrar datos, verán como aparecen sus datos en la etiqueta, pero encontrarán un pequeño inconveniente, tal como lo muestra la siguiente figura:
Figura 7 El formulario de Datos Personales en acción
No existe un
espacio en
blanco entre el Apellido y el
Nombre
Para solucionar este problema, lo que haremos es agregar un espacio en blanco a nuestra línea de programación. Un espacio en blanco se representa entre comillas dobles. Es decir esto “ “ agregar un espacio en blanco, esto “ “ agrega dos, y así sucesivamente.
Complete su línea de código para que se vea así:
lblApeNom.Text = txtApellido.Text & " " & txtNombre.Text
Apellido y espacio en blanco y Nombre
Prueben nuevamente su programa y verán cómo funciona correctamente. Ahora, solo nos falta programar el botón Cerrar del mismo modo que fue explicado en el ejercicio anterior.
Ahora que este programa funciona correctamente, mejoremos su estética. La tabla que apa-rece a continuación presenta algunas propiedades que tienen que ver con el formato de los objetos.
Tabla III. Propiedades Básicas
Propiedades Descripción Valores Posibles Se aplica a ...
Alinea el texto dentro Left
Izquierda Labels, Text Box. En
del Objeto los Button aparecen
TextAlignment Right Derecha
más valores posibles.
Center
Centro
Determina si un control True
Verdadero Labels
Autosize cambia o no de tamaño Falso
Falso
para mostrar todo su
SISTEMAS OPERATIVOS 6to
contenido.
Backcolor Cambia el color de fon- Cualquiera de los colores Mayoría de los contro-
do que aparecen en la paleta. les.
Determina el estilo de None
Sin Borde Labels, Textbox
BorderStyle borde de un objeto
Fixed Single Borde Fijo
Fixed3D
Fijo con efecto
Permite modificar el Todos los que aparecen Labels, TextBox,
Font tipo, tamaño, estilo y en el diálogo de Fuentes. Form y CommandBut-
efectos de las fuentes. ton.
Forecolor Color de las letras Cualquiera de los colores Labels, TextBox,
que aparecen en la paleta. Form.
Size (Height) Devuelve o establece la Medida expresada en Todos los objetos
altura de un objeto. pixels
Size (Width) Devuelve o establece el Medida expresada en Todos los objetos
ancho de un objeto. pixels.
Location (X,Y) Coordenada X e Y de Medida expresada en Todos los objetos
un objeto. pixels.
Aplique las siguientes propiedades a los objetos del formulario.
Tabla IV . Propiedades del Formulario Datos Personales
Objetos
Propiedades Valor
Form1 Backcolor Verde
Label1, Label2 y Lable3
Font Verdana, tamaño 10,
Negrita
Font
Verdana, tamaño 12,
txtApellido y txtNombre
cursiva
TextAlignment Center
TextAlignment Center
LblApenom
Font Verdana, tamaño 12,
negrita.
Forecolor Blanco
Backcolor Azul
btnMostrar y btnCerrar
Font Verdana , tamaño 10,
negrita
Finalmente su programa ha sido completado, no sólo funciona bien sino que también tiene una vista atractiva y amigable a los ojos del usuario.
Guarden su proyecto con el nombre Actividad 3.
A continuación desarrollaremos otro ejercicio, en el cual aplicaremos parte de los conoci-mientos aprendidos en el ejemplo anterior.
Comiencen un nuevo proyecto, y diseñe el formulario tal como lo muestra la Figura 8.
SISTEMAS OPERATIVOS 6to
Figura 8 Nombre:
txtNumero1
Diseño del formulario Operaciones Matemáticas
Text: vacío
Nombre: btnSumar Text: Sumar
Nombre: btnRestar Text: &Restar
Nombre: btnDividir Text: &Dividir
Nombre: btnMulti
Nombre:lblTotal Text: Total Backcolor: Rojo Font: Verdana, 12 ptos., negrita ForeColor: Blanco
Nombre: txtNumero2 Text:vacio
Nombre: btnCerrar Text: &Cerrar
Text: &Multiplicar
Nombre:
btnPoten-cia Text: &Potencia
El objetivo del proyecto es crear una calculadora sencilla, en la cual sólo se pueden ingresar 2 números, y realizar con ellos las operaciones aritméticas básicas (suma, resta, multiplica-ción, división y potencia). El usuario ingresa 2 números, y pulsa sobre el botón correspon-diente a la operación matemática y el resultado aparece en la etiqueta nombrada lblTotal.
La diferencia con el ejercicio anterior es que en ese usamos datos de tipo texto (Apellido y nombre), y en este ejemplo usaremos valores numéricos.
De acuerdo a lo expuesto en el párrafo anterior, ustedes podrán deducir esto que debemos programar cada uno de los botones, ya que sobre ellos efectuaremos el evento clic.
Hacemos doble clic sobre el botón btnSumar y obtendremos lo siguiente:
Private Sub btnSumar_Click() End Sub
Dentro de dicha rutina escribiremos la siguiente línea de código:
lblTotal.Text = txtNumero1.Text + txtNumero2.Text
Probemos lo que programamos (recuerde clic en el botón Iniciar o F5). Escriban 2 números, y luego pulse el botón sumar. Fíjese que obtendrá algo similar a lo mostrado en la Figura 9.
SISTEMAS OPERATIVOS 6to
Figura 9: Prueba del botón “Sumar” del formulario Operaciones Matemáticas
Observando lo sucedido, llegamos a la conclusión que concatenó los números, es decir, los unió, no los sumó, esto se produjo porque los cuadros de edición, si bien pueden soportar cualquier tipo de dato, a los números ingresados los interpreta como caracteres. No obstan-te al no poder sumarlos, los concatena.
Para resolver esto, usaremos una función llamada VAL, que transforma un dato de tipo ca-rácter en numérico.
La sintaxis de dicha función es:
VAL(conjunto de caracteres)
En nuestro ejemplo, para convertir en numérico el dato ingresado en el cuadro de texto, escribiremos:
Val(txtNumero1.text)
Vuelva al código del botón sumar, y finalmente programe lo siguiente:
lblTotal.Text = Val(txtNumero1.Text) + Val(txtNumero2.Text)
Ejecuten nuevamente el proyecto. Escriban 2 números, y luego pulsen el botón sumar. Fíjese que ahora si obtendrá la suma de dichos números.
Los operadores aritméticos que se pueden utilizar para resolver las operaciones básicas son los que siguen:
Tabla V. Operadores aritméticos
Signo Significado
+ Suma
- Resta
* Multiplicación
/ División
^ Potenciación
MOD Resto de la división entera
SISTEMAS OPERATIVOS 6to
Tomando en cuenta la Tabla V. Operadores aritméticos, complete el código del resto de los botones. No olviden programar el botón Cerrar.
Guarden su proyecto como Actividad 2.
TAREA
Desarrollen las actividades planteadas dentro de este Guion de clase.
Resuelvan las actividades complementarias que encontrarán publicadas junto al Guión de la clase.
Es importante conformar grupos para elaborar las actividades propuestas en la pró-
xima semana, por lo tanto utilice el recurso Selección de grupo para integrarse a al-guno de ellos.
FORO
Recuerden que cualquier consulta pueden realizarla a través de Classrom
Cierre de la clase
En esta clase se han incorporado dos conceptos nuevos: los métodos y las propiedades. He-mos trabajado con distintas propiedades que mejoran la estética del formulario y otras que permiten darle funcionalidad al mismo.
Les recomiendo leer detenidamente este Guion de clase, no saltear las actividades y consul-tar todas las dudas que les vayan surgiendo.
¡¡¡Les deseo a todos, que tengan una excelente semana!!
Martin Murdaca
Top Related