tema6-cajas de dialogo
DESCRIPTION
ayuda a la programación en visual usando cuadro de diálogos.TRANSCRIPT
Programación Visual IProgramación Visual IIngeniería en Telemática
Ing. Julio César González MorenoIng. Julio César González [email protected]
Universidad Nacional Autónoma de NicaraguaLeón, Nicaragua
Pre-requisito: Programación Orientada a ObjetosCréditos: 4Semestre: 6to
Tema 6: Cajas de diálogo
Contenidos
Introducción
Cajas de diálogo modales y no modales
Cajas de diálogo predefinidas
Cajas de diálogo personalizadas
Cajas de diálogo estándar
Bibliografía
2 / 25Programación Visual IIngeniería en Telemática
Introducción
Una aplicación en un instante determinado necesita aceptar nuevos datos para ello se puede utilizar una nueva ventana
Estas ventanas reciben el nombre de cajas de diálogo o cuadros de diálogo
Son ventanas secundarias que dependen de otras
Una caja de diálogo es un formulario (Form) con la propiedad FormBorderStyle a FixedDialog
Existen tres formas de añadir cajas de diálogo a una aplicación:
Cajas de diálogo predefinidas
Son creadas a través del método Show de la clase MessageBox
Cajas de diálogo personalizadas
Son hechas a medida, se emplea la clase Form
Cajas de diálogo estándar
Cajas de diálogo abrir o guardar (OpenFileDialog, SaveFileDialog)
Diálogos de color (ColorDialog)
Diálogo de impresión (PrintDialog)
3 / 25Programación Visual IIngeniería en Telemática
Cajas de diálogo modales y no modales
Caja de diálogo modal
Cuando una aplicación visualiza una caja de diálogo que tiene que ser cerrada para poder continuar
Utiliza el método ShowDialog( )
Caja de diálogo no modal
Todo lo contrario a la caja de diálogo modal
Utiliza el método Show( )
La clase MessageBox por defecto crea diálogos modales
La clase Form permite crear diálogos modales (ShowDialog) y no modales (Show)
4 / 25Programación Visual IIngeniería en Telemática
Cajas de diálogo predefinidas (I)
Son cajas de diálogo proporcionadas por la biblioteca .NET
Se visualizan utilizando el método Show de la clase MessageDialog
Permite crear diálogos para:
Visualización de datos
Confirmación de acciones
5 / 25Programación Visual IIngeniería en Telemática
Cajas de diálogo predefinidas (II)Visualizar datos (I)
El método Show de la clase MessageDialog permite mostrar un mensaje
Sintaxis:
public static DialogResult Show(
string mensaje,
string título,
MessageBoxButtons botones,
MessageBoxIcon icono,
MessageBoxDefaultButton botonPredeterminado,
MessageBoxOptions opciones,
string caminoArchivoAyuda,
HelpNavigator opcionesAyuda,
Object idTemaAyuda
)
El primer parámetro es obligatorio, el resto son opcionales
6 / 25Programación Visual IIngeniería en Telemática
Algunos de los parámetros que resultan ser de utilidad son:
mensaje – Contiene el texto a ser visualizado
título – Contiene el título del diálogo
botones – Botones que serán mostrados en el diálogo
AbortRetryIgnore – Anular, reintentar y omitir
OK - Aceptar
OKCancel – Aceptar y cancelar
RetryCancel – Reintentar y cancelar
YesNo – Sí y No
YesNoCancel – Sí, No y Cancelar
7 / 25Programación Visual IIngeniería en Telemática
Cajas de diálogo predefinidas (III)Visualizar datos (II)
icono – Icono que será mostrado sobre el diálogo
Information | Asterisk – Una letra i minúscula dentro de un círculo
Error | Hand | Stop – Una X blanca dentro de un círculo rojo
Exclamation | Warning – Un signo de exclamación dentro de un triángulo con fondo amarillo
None – Sin icono
Question – Signo de interrogación dentro de un círculo
8 / 25Programación Visual IIngeniería en Telemática
Cajas de diálogo predefinidas (IV)Visualizar datos (III)
9 / 25
Programación Visual IIngeniería en Telemática
botonPredeterminado – Indica cuál es el botón predeterminado del cuadro de mensaje
Button1 – Primer botón
Button2 – Segundo botón
Button3 – Tercer botón
El método Show devuelve uno de los siguientes valores del tipo DialogResult:
Abort – Se dio clic sobre el botón anular
Cancel – Se dio clic sobre el botón cancelar
Ignore – Se dio clic sobre el botón omitir
No – Se dio clic sobre el botón no
None – Indica que el diálogo modal continua ejecutándose
OK – Se dio clic sobre el botón aceptar
Retry – Se dio clic sobre el botón reintentar
Yes - Se dio clic sobre el botón sí
Cajas de diálogo predefinidas (V)Visualizar datos (IV)
La sentencia:
MessageBox.Show(“Usuario incorrecto”, “Error de autenticación”, MessageBoxButtons.OK, MessageBoxIcon.Error);
Visualiza la caja de diálogo siguiente:
10 / 25Programación Visual IIngeniería en Telemática
Cajas de diálogo predefinidas (VI)Visualizar datos (V) - Ejemplo
La siguiente sentencia solicita una respuesta afirmativa por parte del usuario para poder continuar:
DialogResult respuesta = MessageBox.Show(“¿Desea continuar con la ejecución de la aplicación?”, “Seleccione una opción”, MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if(respuesta == DialogResult.Yes)
MessageBox.Show(“Se pulso el botón Sí”);
else
{
MessageBox.Show(“Se pulso el botón No”);
this.Close( );
}
El diálogo que se visualiza es el siguiente:
11 / 25Programación Visual IIngeniería en Telemática
Cajas de diálogo predefinidas (VII)Confirmación de acciones
Cajas de diálogo personalizadas (I)
Son ventanas de diálogo creadas por nosotros mismos mediante el diseñador de formularios
Basta con crear un objeto Form y agregar los controles Label, Textbox, Button, etc. para adaptar el diálogo a nuestras necesidades
El dialogo será modal cuando se utilice el método ShowDialog para mostrarlo y no modal cuando se utilice el método Show
12 / 25Programación Visual IIngeniería en Telemática
Supóngase que se quiere suministrar una interfaz de acceso (usuario y contraseña) a una aplicación
Dicha interfaz solicitará un nombre de usuario y una contraseña para poder acceder a la interfaz principal de la aplicación
Si tanto el usuario como la contraseña ingresada son correctos, se dará acceso a la aplicación
En caso de que los datos sean incorrectos, se permitirán tres intentos de acceso, agotados los intentos la aplicación deberá finalizar
Internamente la aplicación principal posee una opción de cierre de sesión que hará que se vuelva a mostrar nuestro diálogo personalizado
13 / 25Programación Visual IIngeniería en Telemática
Cajas de diálogo personalizadas (II)Ejemplo: acceso a través de usuario y contraseña
14 / 25
Programación Visual IIngeniería en Telemática
Cajas de diálogo personalizadas (III)Ejemplo: acceso a través de usuario y contraseña – El diálogo
Caja de diálogo personalizada
Solicita el nombre de usuario y la contraseña para acceder a la aplicación principal
Formulario principal
Validados el usuario y la contraseña ingresada en la caja de diálogo personalizada, se proporciona acceso a la aplicación principal
15 / 25
Programación Visual IIngeniería en Telemática
Cajas de diálogo personalizadas (IV)Ejemplo: acceso a través de usuario y contraseña – El código
16 / 25
Programación Visual IIngeniería en Telemática
Cajas de diálogo personalizadas (V)Ejemplo: acceso a través de usuario y contraseña – La opción LogOut
public partial class frmPrincipal : Form {private frmLogin objFrmLogin;
public frmPrincipal(frmLogin argFrmLogin) {InitializeComponent();objFrmLogin = argFrmLogin;
}
private void mnuArchivoCerrarSesion_Click(object sender, EventArgs e) {this.Visible = false;objFrmLogin.Visible = true;this.Close();
}
Cajas de diálogo estándar (I)
.NET incluye una serie de clases derivadas de CommonDialog y definidas en el espacio de nombres System.Windows.Forms
Estas clases permiten visualizar cajas de diálogo comúnmente empleadas en el diseño de aplicaciones
Caja de diálogo abrir (OpenFileDialog)
Caja de diálogo guardar (SaveFileDialog)
Caja de diálogo color (ColorDialog)
Caja de diálogo impresión (PrintDialog)
Caja de diálogo fuente (FontDialog)
Caja de diálogo selección de carpeta (FolderBrowserDialog)
Caja de diálogo configuración de página (PageSetupDialog)
17 / 25Programación Visual IIngeniería en Telemática
Permite al usuario seleccionar una unidad de disco, un directorio, una extensión de archivo y un nombre de archivo
Finalizada la selección, la propiedad FileName contiene el nombre completo del fichero elegido
18 / 25Programación Visual IIngeniería en Telemática
Cajas de diálogo estándar (II)Cajas de diálogo abrir y guardar
Crear un objeto de la clase OpenFileDialog
OpenFileDialog dlgAbrir = new OpenFileDialog( );
Modificar los valores por defecto de sus propiedades (de ser necesario)
dlgAbrir.InitialDirectory = “c:\\”;
dlgAbrir.Filter = “ficheros txt (*.txt)|*.txt|Todos (*.*)|*.*”;
dlgAbrir.FilterIndex = 2;
Mostrar el dialogo a través de ShowDialog
dlgAbrir.ShowDialog( );
19 / 25Programación Visual IIngeniería en Telemática
Cajas de diálogo estándar (III)Visualizar la caja de diálogo abrir (I)
Recuperar el valor devuelto por el diálogo
El valor de tipo DialogResult devuelto por ShowDialog indica si el usuario pulso OK o si pulso Cancelar
if(dlgAbrir.ShowDialog == DialogResult.OK) {
string ruta = dlgAbrir.FileName;
FileStream fs = new FileStream(ruta, FileMode.Open, FileAccess.ReadWrite);
//Archivo abierto
fs.Close( );
}
20 / 25Programación Visual IIngeniería en Telemática
Cajas de diálogo estándar (IV)Visualizar la caja de diálogo abrir (II)
Crear un objeto de la clase SaveFileDialog
SaveFileDialog dlgGuardar = new SaveFileDialog( );
Modificar los valores por defecto de sus propiedades (de ser necesario)
dlgGuardar.Filter = “ficheros txt (*.txt)|*.txt|Todos (*.*)|*.*”;
dlgGuardar.FilterIndex = 2;
Mostrar el dialogo a través de ShowDialog
dlgGuardar.ShowDialog( );
21 / 25Programación Visual IIngeniería en Telemática
Cajas de diálogo estándar (V)Visualizar la caja de diálogo guardar (I)
Recuperar el valor devuelto por el diálogo
El valor de tipo DialogResult devuelto por ShowDialog indica si el usuario pulso OK o si pulso Cancelar
if(dlgGuardar.ShowDialog == DialogResult.OK) {
Stream fs = dlgGuardar.OpenFile( );
if(fs != null){
//Código para trabajar con el archivo
fs.Close( );
}
}
22 / 25Programación Visual IIngeniería en Telemática
Cajas de diálogo estándar (VI)Visualizar la caja de diálogo guardar (II)
La caja de diálogo color permite al usuario seleccionar un color de una paleta o crear y seleccionar un color personalizado
Vamos a modificar el color de las letras de una caja de texto
Crear un objeto de la clase ColorDialog
ColorDialog dlgColor = new ColorDialog( );
Obtener el valor actual del color del texto de la caja
dlgColor.Color = TextBox1.ForeColor;
Mostrar el dialogo a través de ShowDialog
dlgColor.ShowDialog( );
23 / 25Programación Visual IIngeniería en Telemática
Cajas de diálogo estándar (VII)Visualizar la caja de diálogo color (I)
Recuperar el valor devuelto por el diálogo
El valor de tipo DialogResult devuelto por ShowDialog indica si el usuario pulso OK o si pulso Cancelar
if(dlgColor.ShowDialog == DialogResult.OK) {
TextBox1.ForeColor = dlgColor.Color;
}
24 / 25Programación Visual IIngeniería en Telemática
Cajas de diálogo estándar (VIII)Visualizar la caja de diálogo color (II)