Form.ShowDialog Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.