Sdílet prostřednictvím


Form.ShowDialog Metoda

Definice

Zobrazí formulář jako modální dialogové okno.

Přetížení

Name Description
ShowDialog()

Zobrazí formulář jako modální dialogové okno.

ShowDialog(IWin32Window)

Zobrazí formulář jako modální dialogové okno se zadaným vlastníkem.

ShowDialog()

Zdroj:
Form.cs
Zdroj:
Form.cs
Zdroj:
Form.cs
Zdroj:
Form.cs
Zdroj:
Form.cs

Zobrazí formulář jako modální dialogové okno.

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

Návraty

Jedna z DialogResult hodnot.

Výjimky

Zobrazený formulář je již viditelný.

nebo

Zobrazený formulář je zakázaný.

nebo

Zobrazený formulář není okno nejvyšší úrovně.

nebo

Formulář, který se zobrazuje jako dialogové okno, je již modální formulář.

nebo

Aktuální proces není spuštěný v interaktivním režimu uživatele (další informace najdete v tématu UserInteractive).

Příklady

Následující příklad zobrazí formulář jako modální dialogové okno a vyhodnotí návratovou hodnotu dialogového okna před určením, zda se má přečíst hodnota TextBox ovládacího prvku ve formuláři dialogového okna. Tento příklad vyžaduje, aby Form byl název testDialog vytvořen a že obsahuje TextBox ovládací prvek s názvem TextBox1. Kromě toho tento příklad vyžaduje, aby byl kód v tomto příkladu obsažen a volán z jiného Form , aby se zobrazilo testDialog jako modální dialogové okno. Příklad používá verzi ShowDialog , která určuje vlastníka dialogového okna.

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

Poznámky

Tuto metodu můžete použít k zobrazení modálního dialogového okna v aplikaci. Při zavolání této metody se kód následující nespustí, dokud se dialogové okno nezavře. Dialogové okno lze přiřadit jednu z hodnot DialogResult výčtu tím, že ji přiřadíte vlastnosti DialogResultButton formuláře ve formuláři nebo nastavením DialogResult vlastnosti formuláře v kódu. Tato hodnota se pak vrátí touto metodou. Tuto návratovou hodnotu můžete použít k určení způsobu zpracování akcí, ke kterým došlo v dialogovém okně. Pokud se například dialogové okno zavřelo a vrátilo DialogResult.Cancel hodnotu prostřednictvím této metody, můžete zabránit spuštění kódu za voláním ShowDialog .

Když je formulář zobrazen jako modální dialogové okno, klepněte na tlačítko Zavřít (tlačítko s X v pravém horním rohu formuláře) způsobí, že formulář bude skrytý a DialogResult vlastnost nastavena na DialogResult.Cancel. Na rozdíl od nemodálních formulářů Close není metoda volána rozhraním .NET Framework, když uživatel klikne na tlačítko zavřít formulář dialogového okna nebo nastaví hodnotu DialogResult vlastnosti. Místo toho je formulář skrytý a lze jej znovu zobrazit bez vytvoření nové instance dialogového okna. Vzhledem k tomu, že formulář zobrazený jako dialogové okno je místo zavření skrytý, je nutné volat Dispose metodu formuláře, pokud formulář už není vaší aplikací potřeba.

Tato verze ShowDialog metody jako vlastníka neurčovala formulář ani ovládací prvek. Při zavolání této verze se aktuálně aktivní okno stane vlastníkem dialogového okna. Pokud chcete zadat konkrétního vlastníka, použijte jinou verzi této metody.

Viz také

Platí pro

ShowDialog(IWin32Window)

Zdroj:
Form.cs
Zdroj:
Form.cs
Zdroj:
Form.cs
Zdroj:
Form.cs
Zdroj:
Form.cs

Zobrazí formulář jako modální dialogové okno se zadaným vlastníkem.

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

Parametry

owner
IWin32Window

Libovolný objekt, který implementuje IWin32Window okno nejvyšší úrovně, které bude vlastnit modální dialogové okno.

Návraty

Jedna z DialogResult hodnot.

Výjimky

Formulář zadaný v parametru owner je stejný jako zobrazený formulář.

Zobrazený formulář je již viditelný.

nebo

Zobrazený formulář je zakázaný.

nebo

Zobrazený formulář není okno nejvyšší úrovně.

nebo

Formulář, který se zobrazuje jako dialogové okno, je již modální formulář.

nebo

Aktuální proces není spuštěný v interaktivním režimu uživatele (další informace najdete v tématu UserInteractive).

Příklady

Následující příklad zobrazí formulář jako modální dialogové okno a vyhodnotí návratovou hodnotu dialogového okna před určením, zda se má přečíst hodnota TextBox ovládacího prvku ve formuláři dialogového okna. Tento příklad vyžaduje, aby Form byl název Form2 vytvořen a že obsahuje TextBox ovládací prvek s názvem TextBox1. Příklad používá verzi ShowDialog , která určuje vlastníka dialogového okna.

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

Poznámky

Tuto metodu můžete použít k zobrazení modálního dialogového okna v aplikaci. Při zavolání této metody se kód následující nespustí, dokud se dialogové okno nezavře. Dialogové okno lze přiřadit jednu z hodnot DialogResult jeho přiřazením k DialogResult vlastnosti Button formuláře nebo nastavením DialogResult vlastnosti formuláře v kódu. Tato hodnota se pak vrátí touto metodou. Tuto návratovou hodnotu můžete použít k určení způsobu zpracování akcí, ke kterým došlo v dialogovém okně. Pokud se například dialogové okno zavřelo a vrátilo DialogResult.Cancel hodnotu prostřednictvím této metody, můžete zabránit spuštění kódu za voláním ShowDialog .

Když je formulář zobrazen jako modální dialogové okno, klepněte na tlačítko Zavřít (tlačítko s X v pravém horním rohu formuláře) způsobí, že formulář bude skrytý a DialogResult vlastnost nastavena na DialogResult.Cancel. Na rozdíl od bezmodálních formulářů Close není metoda volána rozhraním .NET Framework, když uživatel klikne na tlačítko zavřít formulář dialogového okna nebo nastaví hodnotu DialogResult vlastnosti. Místo toho je formulář skrytý a lze jej znovu zobrazit bez vytvoření nové instance dialogového okna. Vzhledem k tomu, že formulář zobrazený jako dialogové okno je místo zavření skrytý, je nutné volat Dispose metodu formuláře, pokud formulář už není vaší aplikací potřeba.

Tato verze ShowDialog metody umožňuje zadat konkrétní formulář, který bude vlastnit zobrazené dialogové okno.

Viz také

Platí pro