SlideShare una empresa de Scribd logo
1 de 47
TECNOLÓGICO NACIONAL DE MÉXICO
Ingeniería en Sistemas Computacionales
Tópicos Avanzados de Programación
Unidad I: Interfaz Gráfica de Usuarios
Este material didáctico fue desarrollado para la asignatura de Tópicos Avanzados de Programación,
del plan SCD-1027 2016 de Ing. En Sistemas Computacionales
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Competencia: Desarrolla programas para interactuar con el usuario de
una manera amigable, utilizando GUI (Interfaz Gráfica de Usuario)
manipuladas a través de eventos.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Si un ser humano quiere interactuar con
una máquina necesita un medio para poder
hacerlo.
Ese medio es, precisamente, lo que se
conoce como interfaz de usuario; la parte
del sistema que interactúa con el usuario.
La interfaz de usuario es un lugar de
encuentro entre los bits y las personas.
CREACIÓN DE INTERFAZ GRÁFICA PARA USUARIOS
• La interfaz es la parte visible de las aplicaciones, siendo lo que se percibe de
las mismas; por ello, cada vez se les está dando una importancia mayor y se
está poniendo más cuidado en su desarrollo.
• La creación de interfaces de usuario es un área, dentro del desarrollo de
software, que ha evolucionado mucho en los últimos años y lo sigue
haciendo a día de hoy.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
CARACTERÍSTICAS GENERALES DE LA GUI
La GUI es lo primero que se juzga en una aplicación
Puede incluso poner limitaciones en la comunicación de la
máquina con el usuario
Todo aquello que no se pueda expresar a través de la interfaz se
perderá
Un buen programa con una interfaz pobre y no adaptada a las
tareas a realizar, no sirve de mucho
Hay que tener siempre presente que la interfaz de usuario determina
la usabilidad de la aplicación
TÓPICOSAVANZADOSDE
PROGRAMACIÓN
• Una interfaz gráfica de usuario (GUI) es una interfaz de usuario en la que se
hace uso de un entorno gráfico, es decir, permite la interacción del usuario
con el ordenador mediante la utilización de imágenes, objetos pictóricos
(ventanas, iconos, botones, etcétera), además de texto.
• GUI es un acrónimo de Graphical User Interface.
• Una aplicación sin un interfaz fácil, impide que los usuarios saquen el
máximo rendimiento del programa.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
COMPUTACIÓN GRÁFICA
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Los elementos que componen la interfaz gráfica son elementos visuales, y a través
de ellos el usuario puede interactuar con la aplicación.
En esta interacción el usuario introduce datos que el programa necesita para llevar a
cabo su funcionalidad y obtiene los resultados de procesar dichos datos.
Las ventanas, los botones, las imágenes, etc. Son elementos gráficos.
Una diferencia clara entre una aplicación de consola y una aplicación con interfaz
gráfica de usuario, es que la primera no tiene ningún elemento gráfico, mientras que
en la segunda éstos si existen.
• Las interfaces gráficas están formadas por ventanas de diferentes tipos.
• Dentro de estas ventanas se encuentran otros elementos (botones,
etiquetas, campos de texto, imágenes, etc.) que permiten introducir datos y
mostrar el estado de la aplicación.
• El ratón y el teclado permiten manejar los elementos que forman parte de la
interfaz.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Para implementar una aplicación que nos permita generar una GUI se debe
de seguir la siguiente estructura:
TÓPICOS AVANZADOS DE PROGRAMACIÓN
ELEMENTOS PRINCIPALES DE UNA INTERFAZ GRÁFICA
• Ventanas de aplicación: Las ventanas de aplicación son aquellas que
contienen a todos los elementos de una aplicación.
• Ventanas: Las ventanas son elementos encargados de albergar a otros y que
generalmente, se pueden mover libremente por la pantalla. Existen
diferentes tipos en base a su uso y características.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
• Cuadros de diálogo: Los cuadros de diálogo son ventanas que,
normalmente, se muestran un breve periodo de tiempo en la pantalla. Se
suelen utilizar para informar al usuario de alguna situación o pedirle datos
en un momento determinado.
• Ventanas internas: Las ventanas internas son un tipo de ventanas
específico. Se suelen utilizar para albergar documentos dentro de la ventana
de aplicación o para mostrar cajas de herramientas.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
• Componentes: Todos aquellos elementos de una interfaz gráfica con
entidad propia y una funcionalidad asociada con componentes. Por
ejemplo: botones, barras de desplazamiento, etiquetas, imágenes, listas
desplegables, tablas, árboles, etc. No son componentes, por ejemplo, los
colores, las líneas, las letras, los píxeles, etc.
• Controles: Los controles son aquellos componentes que pueden recibir
información del usuario cuando éste interactúa con la aplicación mediante
el ratón o el teclado. Los más comunes son: botones, barras de
desplazamiento, cuadros de texto, etc.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
• Contenedores: Un contenedor es un componente
que puede mostrar en su interior otros
componentes. A los componentes que no son
contenedores se les conoce como componentes
atómicos.
• Menús: Los menús son elementos que contienen
botones distribuidos verticalmente. La pulsación
de uno de estos botones abrirá un nuevo menú o
bien iniciará alguna acción de la aplicación. Los
menús pueden aparecer al pulsar el botón
secundario del ratón sobre algunos elementos de
la interfaz. Si el contenido del menú depende del
elemento pulsado, se denomina menú contextual.
TÓPICOSAVANZADOSDEPROGRAMACIÓN
• Barras de menús: Las barras de menús suelen aparecer en la parte superior
de las ventanas. Se componen de una barra horizontal con botones, que al
ser pulsados despliegan verticalmente un menú.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Barra de
menú
CONTROLES MÁS USUALES Y SUS CARACTERÍSTICAS
• La lista de controles que pueden utilizarse para
confeccionar una interfaz de usuario basada en
formularios Windows es muy extensa, pero existe
un grupo cuyo uso resulta mucho más frecuente.
Forman parte de este grupo los botones, cuadros de
texto, listas, botones de radio y etiquetas de texto,
entre otros.
• En general, los controles de uso más común los
encontraremos en la sección Controles comunes del
Cuadro de herramientas.
TÓPICOSAVANZADOSDE
PROGRAMACIÓN
• A la hora de insertar un control en el formulario tenemos varias opciones:
hacer doble clic sobre el control en el Cuadro de herramientas, hacer clic
sobre el control y después en el punto del formulario donde se desea
colocar, o bien, hacer clic sobre el control sin soltar y a continuación
arrastrar y soltar sobre el formulario a fin de delimitar el área que deseamos
asignar como tamaño inicial.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Eventos
¿Qué es un Evento?
• Un evento es el modo que tiene una clase de proporcionar notificaciones a
los clientes de la clase cuando ocurre algo digno de reseñar en un objeto.
• El uso más habitual para los eventos se produce en las interfaces gráficas;
normalmente, las clases que representan controles de la interfaz disponen
de eventos que se notifican cuando el usuario hace algo con el control (por
ejemplo, hacer clic en un botón).
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Tipos de programas
• En los primeros tiempos de las computadoras los programas eran de
tipo secuencial (también llamados tipo batch). Un programa secuencial es un
programa que se arranca, lee los datos que necesita, realiza los cálculos e
imprime o guarda en el disco los resultados.
• Mientras un programa secuencial está ejecutándose no necesita ninguna
intervención del usuario. A este tipo de programas se les llama también
programas basados u orientados a procedimientos o a algoritmos (procedural
languages).
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Programas Interactivos
• Los programas interactivos exigen la intervención del usuario en tiempo
de ejecución, ya sea para suministrar datos, o para indicar al programa lo
que debe hacer por medio de menús.
• Los programas interactivos limitan y orientan la acción del usuario.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Programas orientados a eventos
• Por su parte los programas orientados a eventos son los
programas típicos de Windows, tales como Internet
Explorer, Word, Excel, PowerPoint y otros.
• Cuando uno de estos programas ha arrancado, lo único que
hace es quedarse a la espera de las acciones del usuario,
que en este caso son llamadas eventos.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
• El usuario dice si quiere abrir y modificar un archivo existente, o bien
comenzar a crear uno desde el principio. Estos programas pasan la mayor
parte de su tiempo esperando las acciones del usuario (eventos) y
respondiendo a ellas.
• Las acciones que el usuario puede realizar en un momento determinado
son muy variadas, y exigen un tipo especial de programación: la
programación orientada a eventos.
• Este tipo de programación es sensiblemente más complicada que la
secuencial y la interactiva, pero con los lenguajes visuales y entornos de
desarrollo de hoy, se hace más sencilla.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Son eventos típicos
TÓPICOS AVANZADOS DE PROGRAMACIÓN
El clic sobre un botón
El hacer doble clic sobre el nombre de un archivo para abrirlo
El arrastrar un icono, el pulsar una tecla o combinación de teclas
El elegir una opción de un menú
El escribir en una caja de texto
Simplemente mover el apuntador del ratón a través de la pantalla
• Cada vez que se produce un evento sobre un determinado tipo de control,
el lenguaje arranca una determinada función o procedimiento que realiza la
acción programada por el usuario para ese evento concreto.
• Estos procedimientos se llaman con un nombre que se forma a partir del
nombre del objeto y el nombre del evento, separados por el carácter (_),
como por ejemplo txtBox_click, que es el nombre del procedimiento que
se ocupará de responder al evento clic en el objeto txtBox.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Propiedades y Métodos.
Además de los eventos, la mayor parte de los
objetos, como los formularios y los controles, son
suministrados con propiedades y métodos.
• Propiedades: Una propiedad es una asignación
que describe algo sobre un objeto como un
formulario. Dependiendo de la propiedad, se la
puede asignar en tiempo de diseño usando la
ventana Propiedades y/o en tiempo de ejecución
al programar.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
A continuación se describen dos ejemplos de las propiedades del
formulario:
• MinButton: Esta propiedad puede asignarse como TRUE (verdadero) o
FALSE (falso). Dependiendo de la asignación, el formulario tendrá o no
tendrá un botón minimizar.
• BackColor: Asignando esta propiedad a un valor expresado como
hexadecimal RGB (Rojo Verde Azul) o como una constante se cambia el
color del fondo del formulario. Se pueden consultar las constantes usando
el examinador de objetos (Seleccione VER, EXAMINADOR DE OBJETOS) y
en la Biblioteca VBRUN (Columna clase) bajo "ColorConstants" y
"SystemColorConstants".
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Métodos
• Los métodos son funciones que también son llamadas desde programa,
pero a diferencia de los procedimientos no son programadas por el usuario,
sino que vienen ya pre-programadas con el lenguaje.
• Los métodos realizan tareas típicas, previsibles y comunes para todas las
aplicaciones. de ahí que vengan con el lenguaje y que se libere al usuario
de la tarea de programarlos. Cada tipo de objeto o de control tiene sus
propios métodos.
• En general solo pueden ser ejecutados en tiempos de ejecución no en
tiempo de diseño. Algunos ejemplos de métodos de formularios son el
método MOVE, que mueve un formulario en un espacio de dos
dimensiones en la pantalla, y el método ZORDER que sitúa el formulario
delante o detrás de otras ventanas.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
• Los métodos son invocados dando nombres al objeto y cuyo método se
está llamando, listando el operador punto (.), y después listando el nombre
del método. Como cualquier rutina los métodos pueden incorporar
argumentos
Por ejemplo:
• Pantalla.Show: Este método Show carga y muestra un formulario, dos
acciones distintas que forman ambas partes del proceso de nacimiento o
inicio a un formulario (al ejecutar el formulario de inicio se carga también
primero el formulario y después se muestra).
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Tarea:
1. Instalar Visual Studio en su computadora (que incluya C#)
2. Eventos Generales en C# para los componentes (también la descripción
general del componente):
 textbox
 combobox
 label
 radiobutton
 form
 button
TÓPICOS AVANZADOS DE PROGRAMACIÓN
PROPIEDADES, MÉTODOS Y EVENTOS COMUNES
• A pesar de las notorias diferencias que existen entre un botón, un recuadro
de texto y una lista, lo cierto es que todos ellos son controles Windows y,
como tales, tienen un ascendiente común: la clase Control definida en
System.Windows.Forms.
• Esto explica que compartan un mismo conjunto de miembros, entre ellos una
serie de propiedades y eventos comunes, a los que se añaden otros de
carácter específico.
• El conocimiento de los miembros comunes, por tanto, nos será de utilidad
general, con independencia de los controles concretos que vayamos a usar.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
• Todos los controles se colocan en el interior de un contenedor, normalmente
una forma de Windows, por lo que necesitan por igual contar con unas
coordenadas y unas dimensiones. Heredados de la clase Control disponen de
los siguientes elementos:
• Left, Top, Width y Height: Estas cuatro propiedades contienen las
coordenadas de la esquina superior izquierda del control (columna y fila),
el ancho y alto, respectivamente.
• Location: Es una estructura de tipo Point que contiene las coordenadas
(X,Y) donde está colocado el control.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
• Muchos de los controles de una interfaz basada en ventanas pueden tomar
el foco de entrada, estado en el cual las pulsaciones de teclado van dirigidas
a ese control y no a los demás que hubiese en la ventana.
• TabStop: Es una propiedad de tipo bool que indica si un control participa o
no de la toma del foco de entrada mediante la tecla Tab.
• TabIndex: Con esta propiedad se establece el orden de acceso a los controles
mediante la tecla Tab. Contendrá un valor entero a partir de 0, siendo el
control que tenga dicho valor el primero en tomar el foco de entrada.
• Focus: Este método permite dar el foco de entrada directamente al control
que nos interese, sencillamente introduciendo una sentencia del tipo
Control.Focus(); en el código
TÓPICOS AVANZADOS DE PROGRAMACIÓN
MouseDown, MouseUp y MouseMove
• MouseDown: Cuando pulsamos un botón del ratón se genera el este evento
• MouseUp: Se genera en el momento en que soltamos el botón del ratón.
• MouseMove: El tercero notifica el desplazamiento del puntero del ratón
sobre el control.
• Los tres eventos aportan los parámetros necesarios para saber cuál es el
botón pulsado y dónde está el puntero del ratón en ese instante.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
• Click y DblClick: Estos dos eventos indican que se ha hecho clic o doble clic
sobre un control. A pesar de que lo habitual es que se produzcan por una
actuación del ratón, lo cierto es que ciertos atajos de teclado y la misma
tecla Intro sobre un botón se reflejarán también como un evento Click.
• Además de servirnos de estos eventos, para detectar las pulsaciones de
tecla o botones del ratón, también podemos recurrir a las propiedades
ModifierKeys, MouseButtons y MousePosition, que todos los controles
heredan de la clase Control, para conocer el estado de las teclas muertas, los
botones del ratón y la posición del puntero de dicho dispositivo.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
RECUADROS DE TEXTO
• TextBox: Es el más simple y utilizado. Sirve para pedir una o
varias líneas de texto sin más control intrínseco que el de
poder limitar la longitud, el número máximo de caracteres a
introducir.
• MaskedTextBox: Similar al anterior, añade las propiedades
necesarias para conseguir que la información introducida se
ajuste a una cierta máscara o patrón, como puede ser la de
un teléfono, NIF, código postal, etc.
• RichTextBox: Se utiliza para facilitar la introducción o
visualización de texto con formato, usando estilos de párrafo
y carácter tales como la alineación, sangrado, tipos y
tamaños de letra, bolos, etc.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
• En los tres casos la propiedad Text nos permite tanto recuperar el texto
introducido en ejecución como modificarlo, mediante una simple asignación.
• Los controles TextBox y RichTextBox cuentan también con la propiedad Lines,
una matriz de tipo string que hace posible el acceso individual a cada una de
las líneas de texto en lugar de al contenido completo.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
BOTONES DE RADIO Y DE SELECCIÓN
• A veces no es necesario que el usuario introduzca un dato
escribiéndolo mediante teclado, sino que puede elegirlo
entre varias opciones exclusivas entre sí o, sencillamente,
marcar o desmarcar una cierta posibilidad. En estos casos se
usan dos tipos de botones: RadioButton y CheckBox. Ambos
tienen en común los siguientes miembros fundamentales:
• Text: Contendrá el texto descriptivo de la opción y que
aparecerá junto al botón.
• Checked: Esta propiedad de tipo bool determina si el
botón está marcado o no.
• Click: El evento que se genera al hacer clic sobre uno de
estos botones.
• CheckedChanged: Evento que notifica un cambio de la
propiedad Checked.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
• Funcionalmente, sin embargo, se
comportan de manera diferente. Un
CheckBox cambia de estado cada vez
que se hace clic sobre él, invirtiéndose el
valor de la propiedad Checked, sin
afectar para nada al resto de controles
del mismo tipo que existan en el
contenedor.
• CheckBox Es el control adecuado
cuando se quiere dar una opción que el
usuario puede marcar o desmarcar, del
tipo sí/no, verdadero/falso.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
LISTAS DE DISTINTOS TIPOS
• El siguiente grupo de componentes más utilizado
es el de las listas, ya sean simples, desplegables
o de elementos que pueden marcarse y
desmarcarse, los tres tipos representados por los
controles ListBox, ComboBox y CheckedListBox,
respectivamente.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
• La única diferencia entre un ListBox y un ComboBox es que este
último aparece como un recuadro de texto con una lista
desplegable asociada, siendo posible, según el estilo empleado,
escribir en ese recuadro de texto en lugar de elegir un valor de la
lista.
• El control ListBox, por el contrario, ocupa
un área mayor y muestra un cierto
número de elementos de la lista, así
como unas barras de desplazamiento en
caso de que fuesen necesarias.
• En ambos casos las propiedades
SelectedIndex y SelectedItem permiten
obtener/modificar el índice del elemento
elegido o directamente el elemento.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
• Por su parte, la particularidad del control
CheckedListBox está en que cada elemento
aparece como un CheckBox, de tal forma que
es posible marcarlo y desmarcarlo.
• Mediante la propiedad CheckedItems se
obtiene la colección con los elementos que
haya marcados en cada momento, mientras
que Items, como en el caso de las otras listas,
contendría todos los elementos, marcados y no
marcados.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
• Además de los ya citados en los puntos previos, hay dos controles más cuyo uso
es reiterado en toda aplicación Windows: Label y Button, las etiquetas de texto
y los botones. La finalidad del primero es sencillamente mostrar un texto, el que
se asigne a la propiedad Text, para servir como título o cabecera de listas,
secciones y, en general, introducir cualquier tipo de aclaración o descripción en
la ventana.
• Como la mayoría de los controles, Label dispone de propiedades como Font,
ForeColor y BackColor que permiten configurar el tipo de letra y los colores de
tinta y fondo.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
• El objetivo del control Button es desencadenar algún tipo de acción: aceptar
o rechazar los datos de un formulario, acceder a una ventana auxiliar para
seleccionar un archivo, etc.
• También cuenta con la propiedad Text, a la que asignaremos el título que
deba aparecer en el botón, si bien, su característica más importante es el
evento Click ya que será el que ponga en marcha la acción asociada.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Ejemplo de un
formulario utilizando los
controles ya vistos
TÓPICOSAVANZADOSDE
PROGRAMACIÓN
Messagebox
• Genera un cuadro de diálogo en pantalla que puede tener varios argumentos que
le dan mayor funcionalidad. En realidad existen muchos parámetros que se le
pueden enviar al MessageBox, pero en realidad los más importantes son 4:
 Mensaje
 Titulo
 Tipos de Botones
 Tipos de Iconos
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Parámetro Descripción
AbortRetryIgnore El mensaje mostrara los botones Anular, Reintentar y Omitir
OK El mensaje mostrara solo el botón Aceptar
OKCancel El mensaje mostrara los botones Aceptar y Cancelar
RetryCancel El mensaje mostrara los botones Reintentar y Cancelar
YesNo El mensaje mostrara los botones Sí y No
YesNoCancel El mensaje mostrara los botones Sí, No y Cancelar
Pasos para Definir un GUI
 Crear los componentes.
 Definir propiedades de los componentes.
 Crear los contenedores para almacenar los componentes definidos.
 Añadir los componentes en los contenedores.
 Definir los eventos que se van a capturar.
 Crear los métodos que se ejecutaran al disparar cada evento
(comportamiento del componente).
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Bibliografía
• Patrick LeBlanc. 2015. Microsoft Visual C# 2013 Step by Step. EE. UU. Octal
Publishing, Inc. ISBN: 978-0-7356-8183-5.
TÓPICOS AVANZADOS DE PROGRAMACIÓN

Más contenido relacionado

La actualidad más candente

Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacion
Irving Che
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
Chuyito Alvarado
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modelado
Marvin Zumbado
 
Tópicos avanzados de programación eventos
Tópicos  avanzados  de programación   eventosTópicos  avanzados  de programación   eventos
Tópicos avanzados de programación eventos
Kanddy Mobylml
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
landeta_p
 

La actualidad más candente (20)

Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacion
 
Etapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del SoftwareEtapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del Software
 
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteTopicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
 
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y libreriasTopicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
 
Unidad1 Lenguajes y automatas
Unidad1 Lenguajes y automatasUnidad1 Lenguajes y automatas
Unidad1 Lenguajes y automatas
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
Lenguajes autómatas.
Lenguajes autómatas.Lenguajes autómatas.
Lenguajes autómatas.
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modelado
 
Procesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasProcesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o Hebras
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Paradigmas de ingenieria del software
Paradigmas de ingenieria del softwareParadigmas de ingenieria del software
Paradigmas de ingenieria del software
 
Estructura jerarquica de un sistema operativo
Estructura jerarquica de un sistema operativoEstructura jerarquica de un sistema operativo
Estructura jerarquica de un sistema operativo
 
Tópicos avanzados de programación eventos
Tópicos  avanzados  de programación   eventosTópicos  avanzados  de programación   eventos
Tópicos avanzados de programación eventos
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de UsuarioTopicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
 
Analisis Semantico
Analisis Semantico Analisis Semantico
Analisis Semantico
 
automatas finitos
 automatas finitos automatas finitos
automatas finitos
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
 

Destacado

Destacado (20)

Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
 
Gestión de Proyectos de Software - Unidad II: Calidad en el Software
Gestión de Proyectos de Software - Unidad II: Calidad en el SoftwareGestión de Proyectos de Software - Unidad II: Calidad en el Software
Gestión de Proyectos de Software - Unidad II: Calidad en el Software
 
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluaciónM4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
 
Como hacer un Mapa Mental
Como hacer un Mapa MentalComo hacer un Mapa Mental
Como hacer un Mapa Mental
 
Matemáticas Discretas - Unidad 1 Sistemas numericos
Matemáticas Discretas - Unidad 1 Sistemas numericosMatemáticas Discretas - Unidad 1 Sistemas numericos
Matemáticas Discretas - Unidad 1 Sistemas numericos
 
Matemáticas Discretas - Unidad 2 Conjuntos
Matemáticas Discretas - Unidad 2 ConjuntosMatemáticas Discretas - Unidad 2 Conjuntos
Matemáticas Discretas - Unidad 2 Conjuntos
 
3.creacion de componentes visuales
3.creacion de componentes visuales3.creacion de componentes visuales
3.creacion de componentes visuales
 
Gestión de Proyectos de Software - Unidad 1 Introducción a la Gestión de Proy...
Gestión de Proyectos de Software - Unidad 1 Introducción a la Gestión de Proy...Gestión de Proyectos de Software - Unidad 1 Introducción a la Gestión de Proy...
Gestión de Proyectos de Software - Unidad 1 Introducción a la Gestión de Proy...
 
Elaboracion de mapas conceptuales
Elaboracion de mapas conceptualesElaboracion de mapas conceptuales
Elaboracion de mapas conceptuales
 
Tema 4.3.1. Actividad 2: Instrumentos de Evaluación
Tema 4.3.1. Actividad 2: Instrumentos de EvaluaciónTema 4.3.1. Actividad 2: Instrumentos de Evaluación
Tema 4.3.1. Actividad 2: Instrumentos de Evaluación
 
Fundamentos de Telecomunicaciones Unidad 2 medios de transmisión y caracterís...
Fundamentos de Telecomunicaciones Unidad 2 medios de transmisión y caracterís...Fundamentos de Telecomunicaciones Unidad 2 medios de transmisión y caracterís...
Fundamentos de Telecomunicaciones Unidad 2 medios de transmisión y caracterís...
 
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
 
Matemáticas Discretas - Unidad III: Logica matemática
Matemáticas Discretas - Unidad III: Logica matemáticaMatemáticas Discretas - Unidad III: Logica matemática
Matemáticas Discretas - Unidad III: Logica matemática
 
Interfaz gráfica de usuario y eventos (introducción)
Interfaz gráfica de usuario y eventos (introducción)Interfaz gráfica de usuario y eventos (introducción)
Interfaz gráfica de usuario y eventos (introducción)
 
M4 4.3 Actividad 1. Tabla comparativa de instrumentos de evaluacion
M4 4.3 Actividad 1. Tabla comparativa de instrumentos de evaluacionM4 4.3 Actividad 1. Tabla comparativa de instrumentos de evaluacion
M4 4.3 Actividad 1. Tabla comparativa de instrumentos de evaluacion
 
Fundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sqlFundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sql
 
Topicos Avanzados de Programacion - Unidad 5 programacion movil
Topicos Avanzados de Programacion -  Unidad 5 programacion movilTopicos Avanzados de Programacion -  Unidad 5 programacion movil
Topicos Avanzados de Programacion - Unidad 5 programacion movil
 
Fundamentos de BD - Unidad 5 algebra relacional
Fundamentos de BD - Unidad 5 algebra relacionalFundamentos de BD - Unidad 5 algebra relacional
Fundamentos de BD - Unidad 5 algebra relacional
 
Fundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosFundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicos
 
Estructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II RecursividadEstructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II Recursividad
 

Similar a Tópicos Avanzados de Programación - Unidad 1 GUI

Clase 1
Clase 1Clase 1
Clase 1
UPTM
 

Similar a Tópicos Avanzados de Programación - Unidad 1 GUI (20)

Intrefaz
 Intrefaz Intrefaz
Intrefaz
 
Intrefaz gráfica de usuario
Intrefaz gráfica de usuarioIntrefaz gráfica de usuario
Intrefaz gráfica de usuario
 
Intrefaz gráfica de usuario
Intrefaz gráfica de usuarioIntrefaz gráfica de usuario
Intrefaz gráfica de usuario
 
El computador desde el punto de vista del usuario
El computador desde el punto de vista del usuarioEl computador desde el punto de vista del usuario
El computador desde el punto de vista del usuario
 
El computador desde el punto de vista del usuario
El computador desde el punto de vista del usuarioEl computador desde el punto de vista del usuario
El computador desde el punto de vista del usuario
 
Interfaces Gráficas de Usuario.pptx
Interfaces Gráficas de Usuario.pptxInterfaces Gráficas de Usuario.pptx
Interfaces Gráficas de Usuario.pptx
 
N4 lección11
N4 lección11N4 lección11
N4 lección11
 
Unidad 5 interfaces-trabajo c.i.27.902.634
Unidad 5 interfaces-trabajo c.i.27.902.634Unidad 5 interfaces-trabajo c.i.27.902.634
Unidad 5 interfaces-trabajo c.i.27.902.634
 
El computador desde el punto de vista del usuario
El computador desde el punto de vista del usuarioEl computador desde el punto de vista del usuario
El computador desde el punto de vista del usuario
 
Topicos Avanzados de Programacion Unidad 1 Eventos
Topicos Avanzados de Programacion Unidad 1 EventosTopicos Avanzados de Programacion Unidad 1 Eventos
Topicos Avanzados de Programacion Unidad 1 Eventos
 
Unidad III
Unidad IIIUnidad III
Unidad III
 
Software
SoftwareSoftware
Software
 
Tema35 ofimatica
Tema35 ofimaticaTema35 ofimatica
Tema35 ofimatica
 
Informatica
InformaticaInformatica
Informatica
 
Taller n°3 patricio vimos
Taller n°3 patricio vimosTaller n°3 patricio vimos
Taller n°3 patricio vimos
 
Diseño interfaz de usuario
Diseño interfaz de  usuarioDiseño interfaz de  usuario
Diseño interfaz de usuario
 
Diseño interfaz de usuario
Diseño interfaz de  usuarioDiseño interfaz de  usuario
Diseño interfaz de usuario
 
1.-Paradigmas de la POE ...
1.-Paradigmas de la POE                                                      ...1.-Paradigmas de la POE                                                      ...
1.-Paradigmas de la POE ...
 
Taller propedeutico iridian
Taller propedeutico iridian Taller propedeutico iridian
Taller propedeutico iridian
 
Clase 1
Clase 1Clase 1
Clase 1
 

Más de José Antonio Sandoval Acosta

Más de José Antonio Sandoval Acosta (20)

Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
 
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptxUNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
 
croquis de aulas UAIM topolobampo FEB 2024
croquis de aulas UAIM topolobampo  FEB 2024croquis de aulas UAIM topolobampo  FEB 2024
croquis de aulas UAIM topolobampo FEB 2024
 
Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 MódulosIng. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 Módulos
 
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujo
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
 
Manual de prácticas y antología para POO
Manual de prácticas y antología para  POOManual de prácticas y antología para  POO
Manual de prácticas y antología para POO
 
Aplicaciones móviles intro.
Aplicaciones móviles intro.Aplicaciones móviles intro.
Aplicaciones móviles intro.
 
Economia
EconomiaEconomia
Economia
 
ISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptxISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptx
 
Plantilla presentación.pptx
Plantilla presentación.pptxPlantilla presentación.pptx
Plantilla presentación.pptx
 
kitchenham.pptx
kitchenham.pptxkitchenham.pptx
kitchenham.pptx
 
Diagrama de Casos de Uso UML
Diagrama de Casos de Uso UMLDiagrama de Casos de Uso UML
Diagrama de Casos de Uso UML
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
Diagrama UML Casos de Uso
Diagrama UML Casos de UsoDiagrama UML Casos de Uso
Diagrama UML Casos de Uso
 
Tema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdfTema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdf
 
Tema 1 - Intro.pdf
Tema 1 - Intro.pdfTema 1 - Intro.pdf
Tema 1 - Intro.pdf
 

Último

3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf
3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf
3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf
GustavoAdolfoDiaz3
 
S01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfS01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdf
SalomeRunco
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
refrielectriccarlyz
 
Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplos
andersonsubero28
 

Último (20)

Practica_Calificada_03333333333333333.pdf
Practica_Calificada_03333333333333333.pdfPractica_Calificada_03333333333333333.pdf
Practica_Calificada_03333333333333333.pdf
 
Balance materia y energia procesos de Secado
Balance materia y energia procesos de SecadoBalance materia y energia procesos de Secado
Balance materia y energia procesos de Secado
 
Cuestionario 20222222222222222222222224.pdf
Cuestionario 20222222222222222222222224.pdfCuestionario 20222222222222222222222224.pdf
Cuestionario 20222222222222222222222224.pdf
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptx
 
metodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantasmetodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantas
 
3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf
3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf
3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf
 
Arquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo LimacheArquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo Limache
 
S01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfS01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdf
 
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhSistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
 
1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricas1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricas
 
Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplos
 
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptxdokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
 
Instrumentacion para el control de procesos.pdf
Instrumentacion para el control de procesos.pdfInstrumentacion para el control de procesos.pdf
Instrumentacion para el control de procesos.pdf
 
seminario-de-plc- controladores logicos programables
seminario-de-plc- controladores logicos programablesseminario-de-plc- controladores logicos programables
seminario-de-plc- controladores logicos programables
 
UNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdf
UNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdfUNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdf
UNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdf
 
8 mejores máquinas virtuales para Windows.pdf
8 mejores máquinas virtuales para Windows.pdf8 mejores máquinas virtuales para Windows.pdf
8 mejores máquinas virtuales para Windows.pdf
 
entropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemasentropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemas
 
Auditoría de Sistemas de Gestión
Auditoría    de   Sistemas     de GestiónAuditoría    de   Sistemas     de Gestión
Auditoría de Sistemas de Gestión
 
Video sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptxVideo sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptx
 

Tópicos Avanzados de Programación - Unidad 1 GUI

  • 1. TECNOLÓGICO NACIONAL DE MÉXICO Ingeniería en Sistemas Computacionales Tópicos Avanzados de Programación Unidad I: Interfaz Gráfica de Usuarios Este material didáctico fue desarrollado para la asignatura de Tópicos Avanzados de Programación, del plan SCD-1027 2016 de Ing. En Sistemas Computacionales
  • 2. TÓPICOS AVANZADOS DE PROGRAMACIÓN Competencia: Desarrolla programas para interactuar con el usuario de una manera amigable, utilizando GUI (Interfaz Gráfica de Usuario) manipuladas a través de eventos.
  • 3. TÓPICOS AVANZADOS DE PROGRAMACIÓN Si un ser humano quiere interactuar con una máquina necesita un medio para poder hacerlo. Ese medio es, precisamente, lo que se conoce como interfaz de usuario; la parte del sistema que interactúa con el usuario. La interfaz de usuario es un lugar de encuentro entre los bits y las personas.
  • 4. CREACIÓN DE INTERFAZ GRÁFICA PARA USUARIOS • La interfaz es la parte visible de las aplicaciones, siendo lo que se percibe de las mismas; por ello, cada vez se les está dando una importancia mayor y se está poniendo más cuidado en su desarrollo. • La creación de interfaces de usuario es un área, dentro del desarrollo de software, que ha evolucionado mucho en los últimos años y lo sigue haciendo a día de hoy. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 5. CARACTERÍSTICAS GENERALES DE LA GUI La GUI es lo primero que se juzga en una aplicación Puede incluso poner limitaciones en la comunicación de la máquina con el usuario Todo aquello que no se pueda expresar a través de la interfaz se perderá Un buen programa con una interfaz pobre y no adaptada a las tareas a realizar, no sirve de mucho Hay que tener siempre presente que la interfaz de usuario determina la usabilidad de la aplicación TÓPICOSAVANZADOSDE PROGRAMACIÓN
  • 6. • Una interfaz gráfica de usuario (GUI) es una interfaz de usuario en la que se hace uso de un entorno gráfico, es decir, permite la interacción del usuario con el ordenador mediante la utilización de imágenes, objetos pictóricos (ventanas, iconos, botones, etcétera), además de texto. • GUI es un acrónimo de Graphical User Interface. • Una aplicación sin un interfaz fácil, impide que los usuarios saquen el máximo rendimiento del programa. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 7. COMPUTACIÓN GRÁFICA TÓPICOS AVANZADOS DE PROGRAMACIÓN Los elementos que componen la interfaz gráfica son elementos visuales, y a través de ellos el usuario puede interactuar con la aplicación. En esta interacción el usuario introduce datos que el programa necesita para llevar a cabo su funcionalidad y obtiene los resultados de procesar dichos datos. Las ventanas, los botones, las imágenes, etc. Son elementos gráficos. Una diferencia clara entre una aplicación de consola y una aplicación con interfaz gráfica de usuario, es que la primera no tiene ningún elemento gráfico, mientras que en la segunda éstos si existen.
  • 8. • Las interfaces gráficas están formadas por ventanas de diferentes tipos. • Dentro de estas ventanas se encuentran otros elementos (botones, etiquetas, campos de texto, imágenes, etc.) que permiten introducir datos y mostrar el estado de la aplicación. • El ratón y el teclado permiten manejar los elementos que forman parte de la interfaz. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 9. Para implementar una aplicación que nos permita generar una GUI se debe de seguir la siguiente estructura: TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 10. ELEMENTOS PRINCIPALES DE UNA INTERFAZ GRÁFICA • Ventanas de aplicación: Las ventanas de aplicación son aquellas que contienen a todos los elementos de una aplicación. • Ventanas: Las ventanas son elementos encargados de albergar a otros y que generalmente, se pueden mover libremente por la pantalla. Existen diferentes tipos en base a su uso y características. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 11. • Cuadros de diálogo: Los cuadros de diálogo son ventanas que, normalmente, se muestran un breve periodo de tiempo en la pantalla. Se suelen utilizar para informar al usuario de alguna situación o pedirle datos en un momento determinado. • Ventanas internas: Las ventanas internas son un tipo de ventanas específico. Se suelen utilizar para albergar documentos dentro de la ventana de aplicación o para mostrar cajas de herramientas. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 12. • Componentes: Todos aquellos elementos de una interfaz gráfica con entidad propia y una funcionalidad asociada con componentes. Por ejemplo: botones, barras de desplazamiento, etiquetas, imágenes, listas desplegables, tablas, árboles, etc. No son componentes, por ejemplo, los colores, las líneas, las letras, los píxeles, etc. • Controles: Los controles son aquellos componentes que pueden recibir información del usuario cuando éste interactúa con la aplicación mediante el ratón o el teclado. Los más comunes son: botones, barras de desplazamiento, cuadros de texto, etc. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 13. • Contenedores: Un contenedor es un componente que puede mostrar en su interior otros componentes. A los componentes que no son contenedores se les conoce como componentes atómicos. • Menús: Los menús son elementos que contienen botones distribuidos verticalmente. La pulsación de uno de estos botones abrirá un nuevo menú o bien iniciará alguna acción de la aplicación. Los menús pueden aparecer al pulsar el botón secundario del ratón sobre algunos elementos de la interfaz. Si el contenido del menú depende del elemento pulsado, se denomina menú contextual. TÓPICOSAVANZADOSDEPROGRAMACIÓN
  • 14. • Barras de menús: Las barras de menús suelen aparecer en la parte superior de las ventanas. Se componen de una barra horizontal con botones, que al ser pulsados despliegan verticalmente un menú. TÓPICOS AVANZADOS DE PROGRAMACIÓN Barra de menú
  • 15. CONTROLES MÁS USUALES Y SUS CARACTERÍSTICAS • La lista de controles que pueden utilizarse para confeccionar una interfaz de usuario basada en formularios Windows es muy extensa, pero existe un grupo cuyo uso resulta mucho más frecuente. Forman parte de este grupo los botones, cuadros de texto, listas, botones de radio y etiquetas de texto, entre otros. • En general, los controles de uso más común los encontraremos en la sección Controles comunes del Cuadro de herramientas. TÓPICOSAVANZADOSDE PROGRAMACIÓN
  • 16. • A la hora de insertar un control en el formulario tenemos varias opciones: hacer doble clic sobre el control en el Cuadro de herramientas, hacer clic sobre el control y después en el punto del formulario donde se desea colocar, o bien, hacer clic sobre el control sin soltar y a continuación arrastrar y soltar sobre el formulario a fin de delimitar el área que deseamos asignar como tamaño inicial. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 17. Eventos ¿Qué es un Evento? • Un evento es el modo que tiene una clase de proporcionar notificaciones a los clientes de la clase cuando ocurre algo digno de reseñar en un objeto. • El uso más habitual para los eventos se produce en las interfaces gráficas; normalmente, las clases que representan controles de la interfaz disponen de eventos que se notifican cuando el usuario hace algo con el control (por ejemplo, hacer clic en un botón). TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 18. Tipos de programas • En los primeros tiempos de las computadoras los programas eran de tipo secuencial (también llamados tipo batch). Un programa secuencial es un programa que se arranca, lee los datos que necesita, realiza los cálculos e imprime o guarda en el disco los resultados. • Mientras un programa secuencial está ejecutándose no necesita ninguna intervención del usuario. A este tipo de programas se les llama también programas basados u orientados a procedimientos o a algoritmos (procedural languages). TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 19. Programas Interactivos • Los programas interactivos exigen la intervención del usuario en tiempo de ejecución, ya sea para suministrar datos, o para indicar al programa lo que debe hacer por medio de menús. • Los programas interactivos limitan y orientan la acción del usuario. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 20. Programas orientados a eventos • Por su parte los programas orientados a eventos son los programas típicos de Windows, tales como Internet Explorer, Word, Excel, PowerPoint y otros. • Cuando uno de estos programas ha arrancado, lo único que hace es quedarse a la espera de las acciones del usuario, que en este caso son llamadas eventos. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 21. • El usuario dice si quiere abrir y modificar un archivo existente, o bien comenzar a crear uno desde el principio. Estos programas pasan la mayor parte de su tiempo esperando las acciones del usuario (eventos) y respondiendo a ellas. • Las acciones que el usuario puede realizar en un momento determinado son muy variadas, y exigen un tipo especial de programación: la programación orientada a eventos. • Este tipo de programación es sensiblemente más complicada que la secuencial y la interactiva, pero con los lenguajes visuales y entornos de desarrollo de hoy, se hace más sencilla. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 22. Son eventos típicos TÓPICOS AVANZADOS DE PROGRAMACIÓN El clic sobre un botón El hacer doble clic sobre el nombre de un archivo para abrirlo El arrastrar un icono, el pulsar una tecla o combinación de teclas El elegir una opción de un menú El escribir en una caja de texto Simplemente mover el apuntador del ratón a través de la pantalla
  • 23. • Cada vez que se produce un evento sobre un determinado tipo de control, el lenguaje arranca una determinada función o procedimiento que realiza la acción programada por el usuario para ese evento concreto. • Estos procedimientos se llaman con un nombre que se forma a partir del nombre del objeto y el nombre del evento, separados por el carácter (_), como por ejemplo txtBox_click, que es el nombre del procedimiento que se ocupará de responder al evento clic en el objeto txtBox. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 24. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 25. Propiedades y Métodos. Además de los eventos, la mayor parte de los objetos, como los formularios y los controles, son suministrados con propiedades y métodos. • Propiedades: Una propiedad es una asignación que describe algo sobre un objeto como un formulario. Dependiendo de la propiedad, se la puede asignar en tiempo de diseño usando la ventana Propiedades y/o en tiempo de ejecución al programar. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 26. A continuación se describen dos ejemplos de las propiedades del formulario: • MinButton: Esta propiedad puede asignarse como TRUE (verdadero) o FALSE (falso). Dependiendo de la asignación, el formulario tendrá o no tendrá un botón minimizar. • BackColor: Asignando esta propiedad a un valor expresado como hexadecimal RGB (Rojo Verde Azul) o como una constante se cambia el color del fondo del formulario. Se pueden consultar las constantes usando el examinador de objetos (Seleccione VER, EXAMINADOR DE OBJETOS) y en la Biblioteca VBRUN (Columna clase) bajo "ColorConstants" y "SystemColorConstants". TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 27. Métodos • Los métodos son funciones que también son llamadas desde programa, pero a diferencia de los procedimientos no son programadas por el usuario, sino que vienen ya pre-programadas con el lenguaje. • Los métodos realizan tareas típicas, previsibles y comunes para todas las aplicaciones. de ahí que vengan con el lenguaje y que se libere al usuario de la tarea de programarlos. Cada tipo de objeto o de control tiene sus propios métodos. • En general solo pueden ser ejecutados en tiempos de ejecución no en tiempo de diseño. Algunos ejemplos de métodos de formularios son el método MOVE, que mueve un formulario en un espacio de dos dimensiones en la pantalla, y el método ZORDER que sitúa el formulario delante o detrás de otras ventanas. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 28. • Los métodos son invocados dando nombres al objeto y cuyo método se está llamando, listando el operador punto (.), y después listando el nombre del método. Como cualquier rutina los métodos pueden incorporar argumentos Por ejemplo: • Pantalla.Show: Este método Show carga y muestra un formulario, dos acciones distintas que forman ambas partes del proceso de nacimiento o inicio a un formulario (al ejecutar el formulario de inicio se carga también primero el formulario y después se muestra). TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 29. Tarea: 1. Instalar Visual Studio en su computadora (que incluya C#) 2. Eventos Generales en C# para los componentes (también la descripción general del componente):  textbox  combobox  label  radiobutton  form  button TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 30. PROPIEDADES, MÉTODOS Y EVENTOS COMUNES • A pesar de las notorias diferencias que existen entre un botón, un recuadro de texto y una lista, lo cierto es que todos ellos son controles Windows y, como tales, tienen un ascendiente común: la clase Control definida en System.Windows.Forms. • Esto explica que compartan un mismo conjunto de miembros, entre ellos una serie de propiedades y eventos comunes, a los que se añaden otros de carácter específico. • El conocimiento de los miembros comunes, por tanto, nos será de utilidad general, con independencia de los controles concretos que vayamos a usar. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 31. • Todos los controles se colocan en el interior de un contenedor, normalmente una forma de Windows, por lo que necesitan por igual contar con unas coordenadas y unas dimensiones. Heredados de la clase Control disponen de los siguientes elementos: • Left, Top, Width y Height: Estas cuatro propiedades contienen las coordenadas de la esquina superior izquierda del control (columna y fila), el ancho y alto, respectivamente. • Location: Es una estructura de tipo Point que contiene las coordenadas (X,Y) donde está colocado el control. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 32. • Muchos de los controles de una interfaz basada en ventanas pueden tomar el foco de entrada, estado en el cual las pulsaciones de teclado van dirigidas a ese control y no a los demás que hubiese en la ventana. • TabStop: Es una propiedad de tipo bool que indica si un control participa o no de la toma del foco de entrada mediante la tecla Tab. • TabIndex: Con esta propiedad se establece el orden de acceso a los controles mediante la tecla Tab. Contendrá un valor entero a partir de 0, siendo el control que tenga dicho valor el primero en tomar el foco de entrada. • Focus: Este método permite dar el foco de entrada directamente al control que nos interese, sencillamente introduciendo una sentencia del tipo Control.Focus(); en el código TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 33. MouseDown, MouseUp y MouseMove • MouseDown: Cuando pulsamos un botón del ratón se genera el este evento • MouseUp: Se genera en el momento en que soltamos el botón del ratón. • MouseMove: El tercero notifica el desplazamiento del puntero del ratón sobre el control. • Los tres eventos aportan los parámetros necesarios para saber cuál es el botón pulsado y dónde está el puntero del ratón en ese instante. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 34. • Click y DblClick: Estos dos eventos indican que se ha hecho clic o doble clic sobre un control. A pesar de que lo habitual es que se produzcan por una actuación del ratón, lo cierto es que ciertos atajos de teclado y la misma tecla Intro sobre un botón se reflejarán también como un evento Click. • Además de servirnos de estos eventos, para detectar las pulsaciones de tecla o botones del ratón, también podemos recurrir a las propiedades ModifierKeys, MouseButtons y MousePosition, que todos los controles heredan de la clase Control, para conocer el estado de las teclas muertas, los botones del ratón y la posición del puntero de dicho dispositivo. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 35. RECUADROS DE TEXTO • TextBox: Es el más simple y utilizado. Sirve para pedir una o varias líneas de texto sin más control intrínseco que el de poder limitar la longitud, el número máximo de caracteres a introducir. • MaskedTextBox: Similar al anterior, añade las propiedades necesarias para conseguir que la información introducida se ajuste a una cierta máscara o patrón, como puede ser la de un teléfono, NIF, código postal, etc. • RichTextBox: Se utiliza para facilitar la introducción o visualización de texto con formato, usando estilos de párrafo y carácter tales como la alineación, sangrado, tipos y tamaños de letra, bolos, etc. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 36. • En los tres casos la propiedad Text nos permite tanto recuperar el texto introducido en ejecución como modificarlo, mediante una simple asignación. • Los controles TextBox y RichTextBox cuentan también con la propiedad Lines, una matriz de tipo string que hace posible el acceso individual a cada una de las líneas de texto en lugar de al contenido completo. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 37. BOTONES DE RADIO Y DE SELECCIÓN • A veces no es necesario que el usuario introduzca un dato escribiéndolo mediante teclado, sino que puede elegirlo entre varias opciones exclusivas entre sí o, sencillamente, marcar o desmarcar una cierta posibilidad. En estos casos se usan dos tipos de botones: RadioButton y CheckBox. Ambos tienen en común los siguientes miembros fundamentales: • Text: Contendrá el texto descriptivo de la opción y que aparecerá junto al botón. • Checked: Esta propiedad de tipo bool determina si el botón está marcado o no. • Click: El evento que se genera al hacer clic sobre uno de estos botones. • CheckedChanged: Evento que notifica un cambio de la propiedad Checked. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 38. • Funcionalmente, sin embargo, se comportan de manera diferente. Un CheckBox cambia de estado cada vez que se hace clic sobre él, invirtiéndose el valor de la propiedad Checked, sin afectar para nada al resto de controles del mismo tipo que existan en el contenedor. • CheckBox Es el control adecuado cuando se quiere dar una opción que el usuario puede marcar o desmarcar, del tipo sí/no, verdadero/falso. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 39. LISTAS DE DISTINTOS TIPOS • El siguiente grupo de componentes más utilizado es el de las listas, ya sean simples, desplegables o de elementos que pueden marcarse y desmarcarse, los tres tipos representados por los controles ListBox, ComboBox y CheckedListBox, respectivamente. TÓPICOS AVANZADOS DE PROGRAMACIÓN • La única diferencia entre un ListBox y un ComboBox es que este último aparece como un recuadro de texto con una lista desplegable asociada, siendo posible, según el estilo empleado, escribir en ese recuadro de texto en lugar de elegir un valor de la lista.
  • 40. • El control ListBox, por el contrario, ocupa un área mayor y muestra un cierto número de elementos de la lista, así como unas barras de desplazamiento en caso de que fuesen necesarias. • En ambos casos las propiedades SelectedIndex y SelectedItem permiten obtener/modificar el índice del elemento elegido o directamente el elemento. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 41. • Por su parte, la particularidad del control CheckedListBox está en que cada elemento aparece como un CheckBox, de tal forma que es posible marcarlo y desmarcarlo. • Mediante la propiedad CheckedItems se obtiene la colección con los elementos que haya marcados en cada momento, mientras que Items, como en el caso de las otras listas, contendría todos los elementos, marcados y no marcados. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 42. • Además de los ya citados en los puntos previos, hay dos controles más cuyo uso es reiterado en toda aplicación Windows: Label y Button, las etiquetas de texto y los botones. La finalidad del primero es sencillamente mostrar un texto, el que se asigne a la propiedad Text, para servir como título o cabecera de listas, secciones y, en general, introducir cualquier tipo de aclaración o descripción en la ventana. • Como la mayoría de los controles, Label dispone de propiedades como Font, ForeColor y BackColor que permiten configurar el tipo de letra y los colores de tinta y fondo. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 43. • El objetivo del control Button es desencadenar algún tipo de acción: aceptar o rechazar los datos de un formulario, acceder a una ventana auxiliar para seleccionar un archivo, etc. • También cuenta con la propiedad Text, a la que asignaremos el título que deba aparecer en el botón, si bien, su característica más importante es el evento Click ya que será el que ponga en marcha la acción asociada. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 44. Ejemplo de un formulario utilizando los controles ya vistos TÓPICOSAVANZADOSDE PROGRAMACIÓN
  • 45. Messagebox • Genera un cuadro de diálogo en pantalla que puede tener varios argumentos que le dan mayor funcionalidad. En realidad existen muchos parámetros que se le pueden enviar al MessageBox, pero en realidad los más importantes son 4:  Mensaje  Titulo  Tipos de Botones  Tipos de Iconos TÓPICOS AVANZADOS DE PROGRAMACIÓN Parámetro Descripción AbortRetryIgnore El mensaje mostrara los botones Anular, Reintentar y Omitir OK El mensaje mostrara solo el botón Aceptar OKCancel El mensaje mostrara los botones Aceptar y Cancelar RetryCancel El mensaje mostrara los botones Reintentar y Cancelar YesNo El mensaje mostrara los botones Sí y No YesNoCancel El mensaje mostrara los botones Sí, No y Cancelar
  • 46. Pasos para Definir un GUI  Crear los componentes.  Definir propiedades de los componentes.  Crear los contenedores para almacenar los componentes definidos.  Añadir los componentes en los contenedores.  Definir los eventos que se van a capturar.  Crear los métodos que se ejecutaran al disparar cada evento (comportamiento del componente). TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 47. Bibliografía • Patrick LeBlanc. 2015. Microsoft Visual C# 2013 Step by Step. EE. UU. Octal Publishing, Inc. ISBN: 978-0-7356-8183-5. TÓPICOS AVANZADOS DE PROGRAMACIÓN