Compartir a través de


Form.ShowDialog Método

Definición

Muestra el formulario como un cuadro de diálogo modal.

Sobrecargas

ShowDialog()

Muestra el formulario como un cuadro de diálogo modal.

ShowDialog(IWin32Window)

Muestra el formulario como un cuadro de diálogo modal con el propietario especificado.

ShowDialog()

Muestra el formulario como un cuadro de diálogo modal.

public:
 System::Windows::Forms::DialogResult ShowDialog();
public System.Windows.Forms.DialogResult ShowDialog ();
member this.ShowDialog : unit -> System.Windows.Forms.DialogResult
Public Function ShowDialog () As DialogResult

Devoluciones

Uno de los valores de DialogResult.

Excepciones

El formulario que se va a mostrar ya está visible.

o bien

El formulario que se va a mostrar está deshabilitado.

o bien

El formulario que se va a mostrar no es una ventana de nivel superior.

o bien

El formulario que se va a mostrar como un cuadro de diálogo ya es un formulario modal.

o bien

El proceso actual no se está ejecutando en modo de interacción con el usuario (para obtener más información, vea UserInteractive).

Ejemplos

En el ejemplo siguiente se muestra un formulario como un cuadro de diálogo modal y se evalúa el valor devuelto del cuadro de diálogo antes de determinar si se debe leer el valor de un TextBox control en el formulario del cuadro de diálogo. En este ejemplo se requiere que se cree un Form nombre testDialog y que contenga un TextBox control denominado TextBox1. Además, el ejemplo requiere que el código de este ejemplo esté contenido y se llame desde otro Form para mostrarse testDialog como un cuadro de diálogo modal. En el ejemplo se usa la versión de que especifica un propietario para el cuadro de ShowDialog diálogo.

void ShowMyDialogBox()
{
   Form2^ testDialog = gcnew Form2;
   
   // Show testDialog as a modal dialog and determine if DialogResult = OK.
   if ( testDialog->ShowDialog( this ) == ::DialogResult::OK )
   {
      
      // Read the contents of testDialog's TextBox.
      this->txtResult->Text = testDialog->TextBox1->Text;
   }
   else
   {
      this->txtResult->Text = "Cancelled";
   }

   delete testDialog;
}
public void ShowMyDialogBox()
{
   Form2 testDialog = new Form2();

   // Show testDialog as a modal dialog and determine if DialogResult = OK.
   if (testDialog.ShowDialog(this) == DialogResult.OK)
   {
      // Read the contents of testDialog's TextBox.
      this.txtResult.Text = testDialog.TextBox1.Text;
   }
   else
   {
      this.txtResult.Text = "Cancelled";
   }
   testDialog.Dispose();
}
Public Sub ShowMyDialogBox()
    Dim testDialog As New Form2()
    
    ' Show testDialog as a modal dialog and determine if DialogResult = OK.
    If testDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK Then
        ' Read the contents of testDialog's TextBox.
        txtResult.Text = testDialog.TextBox1.Text
    Else
        txtResult.Text = "Cancelled"
    End If
    testDialog.Dispose()
End Sub

Comentarios

Puede usar este método para mostrar un cuadro de diálogo modal en la aplicación. Cuando se llama a este método, el código siguiente no se ejecuta hasta que se cierra el cuadro de diálogo. Al cuadro de diálogo se le puede asignar uno de los valores de la DialogResult enumeración asignando a la DialogResult propiedad de un Button en el formulario o estableciendo la DialogResult propiedad del formulario en el código. A continuación, este método devuelve este valor. Puede usar este valor devuelto para determinar cómo procesar las acciones que se produjeron en el cuadro de diálogo. Por ejemplo, si el cuadro de diálogo se cerró y devolvió el DialogResult.Cancel valor a través de este método, podría impedir que el código que sigue a la llamada a ShowDialog se ejecute.

Cuando se muestra un formulario como un cuadro de diálogo modal, al hacer clic en el botón Cerrar (el botón con una X en la esquina superior derecha del formulario), el formulario se ocultará y la DialogResult propiedad se establecerá en DialogResult.Cancel. A diferencia de los formularios no modales, Close .NET Framework no llama al método cuando el usuario hace clic en el botón cerrar formulario de un cuadro de diálogo o establece el valor de la DialogResult propiedad . En su lugar, el formulario está oculto y se puede volver a mostrar sin crear una nueva instancia del cuadro de diálogo. Dado que un formulario que se muestra como un cuadro de diálogo está oculto en lugar de cerrado, debe llamar al Dispose método del formulario cuando la aplicación ya no necesite el formulario.

Esta versión del ShowDialog método no especifica un formulario o control como propietario. Cuando se llama a esta versión, la ventana actualmente activa se convierte en el propietario del cuadro de diálogo. Si desea especificar un propietario específico, use la otra versión de este método.

Consulte también

Se aplica a

ShowDialog(IWin32Window)

Muestra el formulario como un cuadro de diálogo modal con el propietario especificado.

public:
 System::Windows::Forms::DialogResult ShowDialog(System::Windows::Forms::IWin32Window ^ owner);
public System.Windows.Forms.DialogResult ShowDialog (System.Windows.Forms.IWin32Window owner);
public System.Windows.Forms.DialogResult ShowDialog (System.Windows.Forms.IWin32Window? owner);
member this.ShowDialog : System.Windows.Forms.IWin32Window -> System.Windows.Forms.DialogResult
Public Function ShowDialog (owner As IWin32Window) As DialogResult

Parámetros

owner
IWin32Window

Cualquier objeto que implemente IWin32Window que representa la ventana de nivel superior que será propietaria del cuadro de diálogo modal.

Devoluciones

Uno de los valores de DialogResult.

Excepciones

El formulario especificado en el parámetro owner es el mismo que el formulario que se va a mostrar.

El formulario que se va a mostrar ya está visible.

o bien

El formulario que se va a mostrar está deshabilitado.

o bien

El formulario que se va a mostrar no es una ventana de nivel superior.

o bien

El formulario que se va a mostrar como un cuadro de diálogo ya es un formulario modal.

o bien

El proceso actual no se está ejecutando en modo de interacción con el usuario (para obtener más información, vea UserInteractive).

Ejemplos

En el ejemplo siguiente se muestra un formulario como un cuadro de diálogo modal y se evalúa el valor devuelto del cuadro de diálogo antes de determinar si se debe leer el valor de un TextBox control en el formulario del cuadro de diálogo. En este ejemplo se requiere que se cree un Form nombre Form2 y que contenga un TextBox control denominado TextBox1. En el ejemplo se usa la versión de que especifica un propietario para el cuadro de ShowDialog diálogo.

void ShowMyDialogBox()
{
   Form2^ testDialog = gcnew Form2;
   
   // Show testDialog as a modal dialog and determine if DialogResult = OK.
   if ( testDialog->ShowDialog( this ) == ::DialogResult::OK )
   {
      
      // Read the contents of testDialog's TextBox.
      this->txtResult->Text = testDialog->TextBox1->Text;
   }
   else
   {
      this->txtResult->Text = "Cancelled";
   }

   delete testDialog;
}
public void ShowMyDialogBox()
{
   Form2 testDialog = new Form2();

   // Show testDialog as a modal dialog and determine if DialogResult = OK.
   if (testDialog.ShowDialog(this) == DialogResult.OK)
   {
      // Read the contents of testDialog's TextBox.
      this.txtResult.Text = testDialog.TextBox1.Text;
   }
   else
   {
      this.txtResult.Text = "Cancelled";
   }
   testDialog.Dispose();
}
Public Sub ShowMyDialogBox()
    Dim testDialog As New Form2()
    
    ' Show testDialog as a modal dialog and determine if DialogResult = OK.
    If testDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK Then
        ' Read the contents of testDialog's TextBox.
        txtResult.Text = testDialog.TextBox1.Text
    Else
        txtResult.Text = "Cancelled"
    End If
    testDialog.Dispose()
End Sub

Comentarios

Puede usar este método para mostrar un cuadro de diálogo modal en la aplicación. Cuando se llama a este método, el código siguiente no se ejecuta hasta que se cierra el cuadro de diálogo. Al cuadro de diálogo se le puede asignar uno de los valores de DialogResult asignando a la DialogResult propiedad de un Button en el formulario o estableciendo la DialogResult propiedad del formulario en el código. A continuación, este método devuelve este valor. Puede usar este valor devuelto para determinar cómo procesar las acciones que se produjeron en el cuadro de diálogo. Por ejemplo, si el cuadro de diálogo se cerró y devolvió el DialogResult.Cancel valor a través de este método, podría impedir que el código que sigue a la llamada a ShowDialog se ejecute.

Cuando se muestra un formulario como un cuadro de diálogo modal, al hacer clic en el botón Cerrar (el botón con una X en la esquina superior derecha del formulario), el formulario se ocultará y la DialogResult propiedad se establecerá en DialogResult.Cancel. A diferencia de los formularios modeless, Close .NET Framework no llama al método cuando el usuario hace clic en el botón cerrar formulario de un cuadro de diálogo o establece el valor de la DialogResult propiedad . En su lugar, el formulario está oculto y se puede volver a mostrar sin crear una nueva instancia del cuadro de diálogo. Dado que un formulario que se muestra como un cuadro de diálogo está oculto en lugar de cerrado, debe llamar al Dispose método del formulario cuando la aplicación ya no necesite el formulario.

Esta versión del ShowDialog método permite especificar un formulario específico que posea el cuadro de diálogo que se muestra.

Consulte también

Se aplica a