Condividi tramite


Form.ShowDialog Metodo

Definizione

Visualizza il modulo come finestra di dialogo modale.

Overload

Nome Descrizione
ShowDialog()

Visualizza il modulo come finestra di dialogo modale.

ShowDialog(IWin32Window)

Visualizza il modulo come finestra di dialogo modale con il proprietario specificato.

ShowDialog()

Origine:
Form.cs
Origine:
Form.cs
Origine:
Form.cs
Origine:
Form.cs
Origine:
Form.cs

Visualizza il modulo come 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 DialogResult valori.

Eccezioni

Il modulo visualizzato è già visibile.

oppure

Il modulo visualizzato è disabilitato.

oppure

Il modulo visualizzato non è una finestra di primo livello.

oppure

Il modulo visualizzato come finestra di dialogo è già un modulo modale.

oppure

Il processo corrente non è in esecuzione in modalità interattiva utente (per altre 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 oggetto diverso 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 questo metodo viene chiamato, il codice seguente non viene eseguito fino alla chiusura della finestra di dialogo. È possibile assegnare alla finestra di dialogo uno dei valori dell'enumerazione DialogResult assegnandolo alla DialogResult proprietà di un Button oggetto nella maschera o impostando la DialogResult proprietà della maschera 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 ha 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) il modulo viene nascosto e la DialogResult proprietà deve essere 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 modulo di una finestra di dialogo o imposta il valore della DialogResult proprietà. Il modulo è invece 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 desidera specificare un proprietario specifico, usare l'altra versione di questo metodo.

Vedi anche

Si applica a

ShowDialog(IWin32Window)

Origine:
Form.cs
Origine:
Form.cs
Origine:
Form.cs
Origine:
Form.cs
Origine:
Form.cs

Visualizza il modulo come finestra di dialogo modale con 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 implementa IWin32Window che rappresenta la finestra di primo livello che sarà proprietaria della finestra di dialogo modale.

Restituisce

Uno dei DialogResult valori.

Eccezioni

Il modulo specificato nel owner parametro è lo stesso del modulo visualizzato.

Il modulo visualizzato è già visibile.

oppure

Il modulo visualizzato è disabilitato.

oppure

Il modulo visualizzato non è una finestra di primo livello.

oppure

Il modulo visualizzato come finestra di dialogo è già un modulo modale.

oppure

Il processo corrente non è in esecuzione in modalità interattiva utente (per altre 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 questo metodo viene chiamato, il codice seguente non viene eseguito fino alla chiusura della finestra di dialogo. È possibile assegnare alla finestra di dialogo uno dei valori di DialogResult assegnandolo alla DialogResult proprietà di un Button oggetto nella maschera o impostando la DialogResult proprietà della maschera 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 ha 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) il modulo viene nascosto e la DialogResult proprietà deve essere impostata su DialogResult.Cancel. A differenza dei moduli modeless, il Close metodo non viene chiamato da .NET Framework quando l'utente fa clic sul pulsante chiudi modulo di una finestra di dialogo o imposta il valore della DialogResult proprietà. Il modulo è invece 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.

Vedi anche

Si applica a