Cómo: Cerrar cuadros de diálogo y conservar los datos introducidos por el usuario
Puede establecer el modo como un cuadro de diálogo se cierra en tiempo de diseño o tiempo de ejecución. En tiempo de diseño, puede establecer la propiedad DialogResult para todos los controles Button en un cuadro de diálogo. En tiempo de ejecución, puede establecer la propiedad DialogResult para que pueda controlar dinámicamente las respuestas del usuario.
Nota
Los cuadros de diálogo y comandos de menú que se ven pueden diferir de los descritos en la Ayuda, en función de los valores de configuración o de edición activos. Para cambiar la configuración, elija la opción Importar y exportar configuraciones del menú Herramientas. Para obtener más información, vea Trabajar con valores de configuración.
Para establecer la propiedad DialogResult de un control en tiempo de diseño
Haga clic en el control Button para el que desee establecer la propiedad.
En la ventana Propiedades, seleccione la propiedad DialogResult y abra la lista de valores de propiedades disponibles.
Seleccione el resultado de cuadro de diálogo adecuado.
Puede establecer el resultado del cuadro de diálogo para acciones realizadas por el usuario que no sean hacer clic en un control Button. Si el cuadro de diálogo no contiene botones para cerrarlo, puede establecer el resultado del cuadro de diálogo en tiempo de ejecución.
Para establecer la propiedad DialogResult de un control o formulario por medio de programación
Navegue hasta el controlador de eventos o al método para el que desea establecer la propiedad DialogResult.
Utilice el código similar al ejemplo de código siguiente.
Public Sub InformationProcessed() ' This code will set the DialogResult for a form. Me.DialogResult = DialogResult.Yes ' OR ' This code will set the DialogResult for a button. Button1.DialogResult = DialogResult.No End Sub
private void InformationProcessed() { // This code will set the DialogResult for a form. DialogResult = DialogResult.Yes; // OR // This code will set the DialogResult for a button. button1.DialogResult = DialogResult.No; }
private: void InformationProcessed() { // This code will set the DialogResult for a form. this->DialogResult = DialogResult::Yes; // OR // This code will set the DialogResult for a button. button1->DialogResult = DialogResult::No; }
Aunque la configuración de la propiedad DialogResult puede hacer que el cuadro de diálogo se cierre automáticamente, podrá controlar el evento Click del control; el cuadro de diálogo se cerrará cuando termine de ejecutarse el código del controlador de eventos. Quizá desee detener el cierre del cuadro de diálogo mientras controla el evento Click.
Para evitar que la propiedad DialogResult cierre el cuadro de diálogo
En el controlador de eventos, cree código similar al ejemplo de código siguiente.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.DialogResult = DialogResult.None End Sub
private void button1_Click(object sender, System.EventArgs e) { DialogResult = DialogResult.None; }
private: void button1_Click(System::Object ^ sender, System::EventArgs ^ e) { this->DialogResult = DialogResult::None; }
Nota
Puede utilizar también el evento Closing del formulario para detener el cierre de un cuadro de diálogo.
Vea también
Tareas
Cómo: Crear cuadros de diálogo en tiempo de diseño
Cómo: Recuperar el resultado de los cuadros de diálogo
Conceptos
Introducción de datos por el usuario en los cuadros de diálogo