Form.ShowDialog Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Visualizza il form come una finestra di dialogo modale.
Overload
ShowDialog() |
Visualizza il form come una finestra di dialogo modale. |
ShowDialog(IWin32Window) |
Visualizza il form come una finestra di dialogo modale avente il proprietario specificato. |
ShowDialog()
Visualizza il form come una finestra di dialogo modale.
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
Restituisce
Uno dei valori di DialogResult.
Eccezioni
Il form da visualizzare è già visibile.
-oppure- Il form da visualizzare è disabilitato.
-oppure- Il form da visualizzare non è una finestra di primo livello.
-oppure- Il form da visualizzare come finestra di dialogo è già un form modale.
-oppure- Il processo corrente non è in esecuzione in modalità interattiva utente (per ulteriori informazioni, vedere UserInteractive).
Esempio
Nell'esempio seguente viene visualizzato un modulo come finestra di dialogo modale e viene valutato il valore restituito della finestra di dialogo prima di determinare se leggere il valore di un TextBox controllo nella maschera della finestra di dialogo. In questo esempio è necessario che venga creato un Form oggetto denominato testDialog
e che contenga un TextBox controllo denominato TextBox1
. Inoltre, l'esempio richiede che il codice in questo esempio sia contenuto e chiamato da un'altra Form per visualizzare testDialog
come finestra di dialogo modale. Nell'esempio viene utilizzata la versione di che specifica un proprietario per la finestra di ShowDialog dialogo.
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
Commenti
È possibile usare questo metodo per visualizzare una finestra di dialogo modale nell'applicazione. Quando viene chiamato questo metodo, il codice che segue non viene eseguito fino alla chiusura della finestra di dialogo. La finestra di dialogo può essere assegnata a uno dei valori dell'enumerazione DialogResult assegnandolo alla DialogResult proprietà di un Button oggetto nella maschera o impostando la DialogResult proprietà del form nel codice. Questo valore viene quindi restituito da questo metodo. È possibile utilizzare questo valore restituito per determinare come elaborare le azioni che si sono verificate nella finestra di dialogo. Ad esempio, se la finestra di dialogo è stata chiusa e restituito il DialogResult.Cancel
valore tramite questo metodo, è possibile impedire l'esecuzione del codice dopo la chiamata a ShowDialog .
Quando un modulo viene visualizzato come finestra di dialogo modale, facendo clic sul pulsante Chiudi (il pulsante con una X nell'angolo superiore destro del modulo) fa sì che il modulo venga nascosto e la DialogResult proprietà venga impostata su DialogResult.Cancel
. A differenza dei moduli non modali, il Close metodo non viene chiamato da .NET Framework quando l'utente fa clic sul pulsante chiudi della maschera di una finestra di dialogo o imposta il valore della DialogResult proprietà. Al contrario, il modulo è nascosto e può essere visualizzato di nuovo senza creare una nuova istanza della finestra di dialogo. Poiché un modulo visualizzato come finestra di dialogo è nascosto anziché chiuso, è necessario chiamare il Dispose metodo del modulo quando il modulo non è più necessario per l'applicazione.
Questa versione del ShowDialog metodo non specifica una maschera o un controllo come proprietario. Quando questa versione viene chiamata, la finestra attualmente attiva viene resa proprietaria della finestra di dialogo. Se si vuole specificare un proprietario specifico, usare l'altra versione di questo metodo.
Vedi anche
Si applica a
ShowDialog(IWin32Window)
Visualizza il form come una finestra di dialogo modale avente il proprietario specificato.
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
Parametri
- owner
- IWin32Window
Qualsiasi oggetto che implementi IWin32Window che rappresenta la finestra di primo livello che sarà proprietaria della finestra di dialogo modale.
Restituisce
Uno dei valori di DialogResult.
Eccezioni
Il form specificato nel parametro owner
coincide con il form da visualizzare.
Il form da visualizzare è già visibile.
-oppure- Il form da visualizzare è disabilitato.
-oppure- Il form da visualizzare non è una finestra di primo livello.
-oppure- Il form da visualizzare come finestra di dialogo è già un form modale.
-oppure- Il processo corrente non è in esecuzione in modalità interattiva utente (per ulteriori informazioni, vedere UserInteractive).
Esempio
Nell'esempio seguente viene visualizzato un modulo come finestra di dialogo modale e viene valutato il valore restituito della finestra di dialogo prima di determinare se leggere il valore di un TextBox controllo nella maschera della finestra di dialogo. In questo esempio è necessario che venga creato un Form oggetto denominato Form2
e che contenga un TextBox controllo denominato TextBox1
. Nell'esempio viene utilizzata la versione di che specifica un proprietario per la finestra di ShowDialog dialogo.
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
Commenti
È possibile usare questo metodo per visualizzare una finestra di dialogo modale nell'applicazione. Quando viene chiamato questo metodo, il codice che segue non viene eseguito fino alla chiusura della finestra di dialogo. La finestra di dialogo può essere assegnata a uno dei valori di DialogResult assegnandolo alla DialogResult proprietà di un Button oggetto nella maschera o impostando la DialogResult proprietà del modulo nel codice. Questo valore viene quindi restituito da questo metodo. È possibile utilizzare questo valore restituito per determinare come elaborare le azioni che si sono verificate nella finestra di dialogo. Ad esempio, se la finestra di dialogo è stata chiusa e restituito il DialogResult.Cancel
valore tramite questo metodo, è possibile impedire l'esecuzione del codice dopo la chiamata a ShowDialog .
Quando un modulo viene visualizzato come finestra di dialogo modale, facendo clic sul pulsante Chiudi (il pulsante con una X nell'angolo superiore destro del modulo) fa sì che il modulo venga nascosto e la DialogResult proprietà venga impostata su DialogResult.Cancel
. A differenza dei moduli in modalitàless, il Close metodo non viene chiamato da .NET Framework quando l'utente fa clic sul pulsante close form di una finestra di dialogo o imposta il valore della DialogResult proprietà. Al contrario, il modulo è nascosto e può essere visualizzato di nuovo senza creare una nuova istanza della finestra di dialogo. Poiché un modulo visualizzato come finestra di dialogo è nascosto anziché chiuso, è necessario chiamare il Dispose metodo del modulo quando il modulo non è più necessario per l'applicazione.
Questa versione del ShowDialog metodo consente di specificare un modulo specifico proprietario della finestra di dialogo visualizzata.