Versión imprimible       Enviar     
Evaluar y enviar comentarios

  Encender vista de ancho de banda bajo
Esta página es específica de
Microsoft Visual Studio 2005/.NET Framework 2.0

Hay además otras versiones disponibles para:
Form.ShowDialog (Método) ()
Muestra el formulario como un cuadro de diálogo modal con el la ventana activa actualmente establecida como su propietaria.

Espacio de nombres: System.Windows.Forms
Ensamblado: System.Windows.Forms (en system.windows.forms.dll)

Visual Basic (Declaración)
Public Function ShowDialog As DialogResult
Visual Basic (Uso)
Dim instance As Form
Dim returnValue As DialogResult

returnValue = instance.ShowDialog
C#
public DialogResult ShowDialog ()
C++
public:
DialogResult ShowDialog ()
J#
public DialogResult ShowDialog ()
JScript
public function ShowDialog () : DialogResult
XAML
No aplicable.

Valor devuelto

Uno de los valores de DialogResult.
Tipo de excepciónCondición

ArgumentException

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

InvalidOperationException

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).

Este método se puede usar para mostrar un cuadro de diálogo modal en la aplicación. Cuando se llama a este método, el código que lo sigue no se ejecuta hasta que se ha cerrado el cuadro de diálogo. Al cuadro de diálogo se le puede asignar uno de los valores de la enumeración DialogResult asignándolo a la propiedad DialogResult de un Button del formulario o estableciendo la propiedad DialogResult del formulario en código. Así, este método devuelve este valor. El valor devuelto se puede usar para determinar el modo de 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 valor DialogResult.Cancel mediante este método, se puede impedir la ejecución del código que sigue a la llamada a ShowDialog.

Cuando un formulario se muestra como un cuadro de diálogo modal, al hacer clic en el botón Cerrar (el botón que tiene una X en la esquina superior derecha del formulario) se oculta el formulario y se establece la propiedad DialogResult en DialogResult.Cancel. A diferencia de los formularios no modales, .NET Framework no llama al método Close cuando el usuario hace clic en el botón Cerrar de un cuadro de diálogo o establece el valor de la propiedad DialogResult. Lo que sucede es que se oculta el formulario, que se puede volver a mostrar sin crear otra instancia del cuadro de diálogo. Puesto que un formulario que se muestra como cuadro de diálogo no se cierra, se debe llamar al método Dispose del formulario cuando la aplicación ya no lo necesite.

Esta versión del método ShowDialog no especifica un formulario o un control como propietario. Cuando se llama a esta versión, la ventana activa actual se convierte en propietaria del cuadro de diálogo. Si desea seleccionar un propietario concreto, use la otra versión de este método.

En el siguiente ejemplo de código 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 ha de leer el valor de un control TextBox en el formulario de cuadro de diálogo. En este ejemplo se requiere que se cree un Form denominado testDialog y que contenga un control TextBox denominado TextBox1. Además, se requiere que el código de este ejemplo esté contenido y se llame desde un Form diferente para mostrar testDialog como un cuadro de diálogo modal. En el ejemplo se utiliza la versión de ShowDialog que especifica un propietario para el cuadro de diálogo.

Visual Basic
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 'ShowMyDialogBox
C#
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();
}
C++
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;
}
J#
public void ShowMyDialogBox()
{
    Form2 testDialog = new Form2();

    // Show testDialog as a modal dialog and determine if DialogResult = OK.
    if (testDialog.ShowDialog(this).Equals(get_DialogResult().OK)) {
        // Read the contents of testDialog's TextBox.
        this.txtResult.set_Text(testDialog.TextBox1.get_Text());
    }
    else {
        this.txtResult.set_Text("Cancelled");
    }
    testDialog.Dispose();
} //ShowMyDialogBox

Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 2.0, 1.0
© 2009 Microsoft Corporation. Reservados todos los derechos. Términos de uso  |  Marcas Registradas  |  Privacidad
Page view tracker