25
 Programación Visual I Programación Visual I Ingeniería en Telemática Ing. Julio César González Moreno Ing. Julio César González Moreno [email protected] Universidad Nacional Autónoma de Nicaragua León, Nicaragua Pre-requisito: Programación Orientada a Objetos Créditos: 4 Semestre: 6to Tema 6: Cajas de diálogo

Tema6-Cajas de Dialogo

Embed Size (px)

DESCRIPTION

ayuda a la programación en visual usando cuadro de diálogos.

Citation preview

  

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)

  

Bibliografía

Enciclopedia de Microsoft Visual C#, 2da edición

Fco. Javier Ceballos Sierra

RA-MA

Capítulo 7, página 241

25 / 25Programación Visual IIngeniería en Telemática