Módulo 5 Ventanas Modales y No Modales

microsoft-azure-logo

Objetivo del curso: Ayudar a quienes deseen aprender a generar aplicaciones WPF con enlace a bases de datos en Azure de una manera en la que no sea requerido un conocimiento previo en el tema utilizando lenguaje coloquial para quienes inician recién en el mundo de la programación utilizando C# como lenguaje de programación y SQL Server.

Objetivo General: Desarrollar un sistema que permita llevar el seguimiento de peso y estatura de alumnos.

Objetivo del tutorial: Conocer los tintos tipos de formularios que nosotros podemos utilizar si estamos utilizando aplicaciones WPF, sus diferencias y cómo implementarlas en nuestros proyectos.

Requerimientos:

  • Visual Studio 2017 o versión anterior.
  • Aplicación WPF
  • 3 ventanas una principal y dos adyacentes

Un formulario puede ser de dos tipos, modal y no modal

  • Una venta no modal debe cerrarse u ocultarse para que el usuario pueda continuar trabajando con el resto de la aplicación.
  • Los formularios modales permiten alternar el foco entre dos formularios sin necesidad de cerrar el formulario inicial. El usuario puede continuar trabajando en otro lugar, en cualquier aplicación, mientras se muestra el formulario.

Módulo 5 Ventanas Modales y No Modales

Implementando ventanas Modal

Para implementar una ventana Modal debemos llamar el siguiente formulario con el método ShowDialog, de la siguiente manera:

Form formn = new Form();

formn.ShowDialog();

El método Show Dialog tiene un argumento opcional, owner, que se puede utilizar para especificar una relación entre elemento primario y elemento secundario para un formulario.

Implementando ventanas No Modal

Para implementar una Ventana no modal debemos implementar el método Show.

Form formn = new Form();

formn.Show();

Diferencias entre utilizar ventanas Modal y No Modal

El código que sigue al método ShowDialog se ejecuta hasta que se cierra el cuadro de dialogo

El código que sigue al método Show se ejecuta inmediatamente después de que se muestra el formulario.

Ejemplo:

MainPage  Modal

Debemos agregar dos botones, uno para implementar una ventana modal y el otro para el estilo No Modal; Los botones deben contar con el evento Clic cada uno.

Evento Clic botón efecto Modal

insertarv modal = new insertarv();

modal.Owner = this;

Aplicaefecto(this); //aplicamos el efecto de difuminado a la ventana

modal.ShowDialog(); // implementamos la ventana Modal abriendo la nueva ventana.

bool? resultado = modal.DialogResult; // Verificamos si el usuario a cerrado una ventana que cuenta con el efecto modal para quitar el efecto de difuminado.

if(resultado != null)

{

if (resultado == false)

{

Quitarefecto(this);

}

}

Método Aplicaefecto

  public void Aplicaefecto(Window win)

{

var efecto = new System.Windows.Media.Effects.BlurEffect(); //aplicacimos el efecto difuminado

efecto.Radius = 5; //aplicamos un radio de 5 al efecto

win.Effect = efecto; //aplicamos el efecto a la ventana

}

Método Quitar Efecto

public void Quitarefecto(Window win)

{

win.Effect = null; //Quitamos el efecto de la ventana

}

Segunda Ventana (Estilo Modal)

Agregamos un botón el cuál al dar clic el usuario debe regresarnos a la ventana anterior y mandar instrucciones para quitar el efecto difuminado

Evento clic del botón atras

private void btnback_Click(object sender, RoutedEventArgs e)

{

DialogResult = false;

Close();

}

MainPage  Modal

Para mandar llamar otra Ventana utilizando el estilo No modal debemos realizer el llamado utilizando el .Show como se muestra a continuación.

private void btneditar_Click(object sender, RoutedEventArgs e)

{

editarv nomodal = new editarv();

nomodal.Show();

// Close();

}

Se recomienda utilizar el evento Close(); para llevar a usuario a una experiencia más limpia ya que en este efecto, todas las ventanas quedarán habilitadas para su uso lo que se vuelve tedioso si son varias ventanas abiertas.

Fuente del tutorial: MSDN

Curso completo: aquí

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s