Form.ShowDialog Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.