Anda di halaman 1dari 25

Universidad Nacional Autnoma de Nicaragua Len, Nicaragua

Programacin Visual I
Ingeniera en Telemtica

Tema 6: Cajas de dilogo

Pre-requisito: Programacin Orientada a Objetos Crditos: 4 Semestre: 6to

Ing. Julio Csar Gonzlez Moreno


julcgmoreno@gmail.com

Contenidos
Introduccin Cajas de dilogo modales y no modales Cajas de dilogo predefinidas Cajas de dilogo personalizadas Cajas de dilogo estndar Bibliografa

Programacin Visual I Ingeniera en Telemtica

2 / 25

Introduccin
Una aplicacin en un instante determinado necesita aceptar nuevos datos para ello se puede utilizar una nueva ventana Estas ventanas reciben el nombre de cajas de dilogo o cuadros de dilogo Son ventanas secundarias que dependen de otras Una caja de dilogo es un FormBorderStyle a FixedDialog Cajas de dilogo predefinidas Son creadas a travs del mtodo Show de la clase MessageBox Cajas de dilogo personalizadas Son hechas a medida, se emplea la clase Form Cajas de dilogo estndar Cajas de dilogo abrir o guardar (OpenFileDialog, SaveFileDialog) Dilogos de color (ColorDialog) Dilogo de impresin (PrintDialog) formulario (Form) con la propiedad

Existen tres formas de aadir cajas de dilogo a una aplicacin:

Programacin Visual I Ingeniera en Telemtica

3 / 25

Cajas de dilogo modales y no modales

Caja de dilogo modal Cuando una aplicacin visualiza una caja de dilogo que tiene que ser cerrada para poder continuar Utiliza el mtodo ShowDialog( ) Caja de dilogo no modal Todo lo contrario a la caja de dilogo modal Utiliza el mtodo Show( ) La clase MessageBox por defecto crea dilogos modales La clase Form permite crear dilogos modales (ShowDialog) y no modales (Show)

Programacin Visual I Ingeniera en Telemtica

4 / 25

Cajas de dilogo predefinidas (I)


Son cajas de dilogo proporcionadas por la biblioteca .NET Se visualizan utilizando el mtodo Show de la clase MessageDialog Permite crear dilogos para: Visualizacin de datos

Confirmacin de acciones

Programacin Visual I Ingeniera en Telemtica

5 / 25

Cajas de dilogo predefinidas (II)


Visualizar datos (I)
El mtodo Show de la clase MessageDialog permite mostrar un mensaje Sintaxis: public static DialogResult Show( string mensaje, string ttulo, MessageBoxButtons botones, MessageBoxIcon icono, MessageBoxDefaultButton botonPredeterminado, MessageBoxOptions opciones, string caminoArchivoAyuda, HelpNavigator opcionesAyuda, Object idTemaAyuda ) El primer parmetro es obligatorio, el resto son opcionales Programacin Visual I Ingeniera en Telemtica
6 / 25

Cajas de dilogo predefinidas (III)


Visualizar datos (II)
Algunos de los parmetros que resultan ser de utilidad son: mensaje Contiene el texto a ser visualizado ttulo Contiene el ttulo del dilogo botones Botones que sern mostrados en el dilogo AbortRetryIgnore Anular, reintentar y omitir OK - Aceptar OKCancel Aceptar y cancelar RetryCancel Reintentar y cancelar YesNo S y No YesNoCancel S, No y Cancelar

Programacin Visual I Ingeniera en Telemtica

7 / 25

Cajas de dilogo predefinidas (IV)


Visualizar datos (III)
icono Icono que ser mostrado sobre el dilogo Information | Asterisk Una letra i minscula dentro de un crculo Error | Hand | Stop Una X blanca dentro de un crculo rojo Exclamation | Warning Un signo de exclamacin dentro de un tringulo con fondo amarillo None Sin icono Question Signo de interrogacin dentro de un crculo

Programacin Visual I Ingeniera en Telemtica

8 / 25

Cajas de dilogo predefinidas (V)


Visualizar datos (IV)
botonPredeterminado Indica cul es el botn predeterminado del cuadro de mensaje Button1 Primer botn Button2 Segundo botn Button3 Tercer botn El mtodo Show devuelve uno de los siguientes valores del tipo DialogResult: Abort Se dio clic sobre el botn anular Cancel Se dio clic sobre el botn cancelar Ignore Se dio clic sobre el botn omitir No Se dio clic sobre el botn no None Indica que el dilogo modal continua ejecutndose OK Se dio clic sobre el botn aceptar Retry Se dio clic sobre el botn reintentar Yes - Se dio clic sobre el botn s

Programacin Visual I Ingeniera en Telemtica

9 / 25

Cajas de dilogo predefinidas (VI)


Visualizar datos (V) - Ejemplo
La sentencia: MessageBox.Show(Usuario incorrecto, Error MessageBoxButtons.OK, MessageBoxIcon.Error); Visualiza la caja de dilogo siguiente: de autenticacin,

Programacin Visual I Ingeniera en Telemtica

10 / 25

Cajas de dilogo predefinidas (VII)


Confirmacin de acciones
La siguiente sentencia solicita una respuesta afirmativa por parte del usuario para poder continuar: DialogResult respuesta = MessageBox.Show(Desea continuar con la ejecucin de la aplicacin?, Seleccione una opcin, MessageBoxButtons.YesNo, MessageBoxIcon.Question); if(respuesta == DialogResult.Yes) MessageBox.Show(Se pulso el botn S); else { MessageBox.Show(Se pulso el botn No); this.Close( ); } El dilogo que se visualiza es el siguiente:

Programacin Visual I Ingeniera en Telemtica

11 / 25

Cajas de dilogo personalizadas (I)


Son ventanas de dilogo creadas por nosotros mismos mediante el diseador de formularios Basta con crear un objeto Form y agregar los controles Label, Textbox, Button, etc. para adaptar el dilogo a nuestras necesidades El dialogo ser modal cuando se utilice el mtodo ShowDialog para mostrarlo y no modal cuando se utilice el mtodo Show

Programacin Visual I Ingeniera en Telemtica

12 / 25

Cajas de dilogo personalizadas (II)


Ejemplo: acceso a travs de usuario y contrasea
Supngase que se quiere suministrar una interfaz de acceso (usuario y contrasea) a una aplicacin Dicha interfaz solicitar un nombre de usuario y una contrasea para poder acceder a la interfaz principal de la aplicacin Si tanto el usuario como la contrasea ingresada son correctos, se dar acceso a la aplicacin En caso de que los datos sean incorrectos, se permitirn tres intentos de acceso, agotados los intentos la aplicacin deber finalizar Internamente la aplicacin principal posee una opcin de cierre de sesin que har que se vuelva a mostrar nuestro dilogo personalizado

Programacin Visual I Ingeniera en Telemtica

13 / 25

Cajas de dilogo personalizadas (III)


Ejemplo: acceso a travs de usuario y contrasea El dilogo

Caja de dilogo personalizada Solicita el nombre de usuario y la contrasea para acceder a la aplicacin principal

Formulario principal Validados el usuario y la contrasea ingresada en la caja de dilogo personalizada, se proporciona acceso a la aplicacin principal

Programacin Visual I Ingeniera en Telemtica

14 / 25

Cajas de dilogo personalizadas (IV)


Ejemplo: acceso a travs de usuario y contrasea El cdigo

Programacin Visual I Ingeniera en Telemtica

15 / 25

Cajas de dilogo personalizadas (V)


Ejemplo: acceso a travs de usuario y contrasea La opcin 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(); } Programacin Visual I Ingeniera en Telemtica
16 / 25

Cajas de dilogo estndar (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 dilogo comnmente empleadas en el diseo de aplicaciones Caja de dilogo abrir (OpenFileDialog) Caja de dilogo guardar (SaveFileDialog) Caja de dilogo color (ColorDialog) Caja de dilogo impresin (PrintDialog) Caja de dilogo fuente (FontDialog) Caja de dilogo seleccin de carpeta (FolderBrowserDialog) Caja de dilogo configuracin de pgina (PageSetupDialog)

Programacin Visual I Ingeniera en Telemtica

17 / 25

Cajas de dilogo estndar (II)


Cajas de dilogo abrir y guardar
Permite al usuario seleccionar una unidad de disco, un directorio, una extensin de archivo y un nombre de archivo Finalizada la seleccin, la propiedad FileName contiene el nombre completo del fichero elegido

Programacin Visual I Ingeniera en Telemtica

18 / 25

Cajas de dilogo estndar (III)


Visualizar la caja de dilogo abrir (I)
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 travs de ShowDialog dlgAbrir.ShowDialog( );

Programacin Visual I Ingeniera en Telemtica

19 / 25

Cajas de dilogo estndar (IV)


Visualizar la caja de dilogo abrir (II)
Recuperar el valor devuelto por el dilogo 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 FileAccess.ReadWrite); //Archivo abierto fs.Close( ); } FileStream(ruta, FileMode.Open,

Programacin Visual I Ingeniera en Telemtica

20 / 25

Cajas de dilogo estndar (V)


Visualizar la caja de dilogo guardar (I)
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 travs de ShowDialog dlgGuardar.ShowDialog( );

Programacin Visual I Ingeniera en Telemtica

21 / 25

Cajas de dilogo estndar (VI)


Visualizar la caja de dilogo guardar (II)
Recuperar el valor devuelto por el dilogo 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){ //Cdigo para trabajar con el archivo fs.Close( ); } }

Programacin Visual I Ingeniera en Telemtica

22 / 25

Cajas de dilogo estndar (VII)


Visualizar la caja de dilogo color (I)
La caja de dilogo 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 travs de ShowDialog dlgColor.ShowDialog( );

Programacin Visual I Ingeniera en Telemtica

23 / 25

Cajas de dilogo estndar (VIII)


Visualizar la caja de dilogo color (II)
Recuperar el valor devuelto por el dilogo 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; }

Programacin Visual I Ingeniera en Telemtica

24 / 25

Bibliografa
Enciclopedia de Microsoft Visual C#, 2da edicin Fco. Javier Ceballos Sierra RA-MA Captulo 7, pgina 241

Programacin Visual I Ingeniera en Telemtica

25 / 25

Anda mungkin juga menyukai