Form.ShowDialog Form.ShowDialog Form.ShowDialog Form.ShowDialog Method

Definice

Zobrazí formulář jako modální dialogové okno.Shows the form as a modal dialog box.

Přetížení

ShowDialog() ShowDialog() ShowDialog() ShowDialog()

Zobrazí formulář jako modální dialogové okno.Shows the form as a modal dialog box.

ShowDialog(IWin32Window) ShowDialog(IWin32Window) ShowDialog(IWin32Window) ShowDialog(IWin32Window)

Zobrazí formulář jako modální dialogové okno se zadaným vlastníkem.Shows the form as a modal dialog box with the specified owner.

ShowDialog() ShowDialog() ShowDialog() ShowDialog()

Zobrazí formulář jako modální dialogové okno.Shows the form as a modal dialog box.

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

Výjimky

Zobrazený formulář je již viditelný.The form being shown is already visible.

-nebo--or- Zobrazený formulář je zakázán.The form being shown is disabled.

-nebo--or- Zobrazený formulář není okno nejvyšší úrovně.The form being shown is not a top-level window.

-nebo--or- Formulář, který je zobrazen jako dialogové okno, již je modálním formulářem.The form being shown as a dialog box is already a modal form.

-nebo--or- Aktuální proces není spuštěn v interaktivním režimu uživatele (Další informace najdete v tématu UserInteractive).The current process is not running in user interactive mode (for more information, see UserInteractive).

Příklady

Následující příklad zobrazí formulář jako modální dialogové okno a vyhodnotí vrácenou hodnotu dialogového okna před určením, zda se má číst hodnota TextBox ovládacího prvku ve formuláři dialogového okna.The following example displays a form as a modal dialog box and evaluates the return value of the dialog box before determining whether to read the value of a TextBox control on the dialog box form. Tento příklad vyžaduje, aby Form byl testDialog vytvořen název s názvem, který obsahuje TextBox ovládací prvek TextBox1s názvem.This example requires that a Form named testDialog is created and that it contains a TextBox control named TextBox1. Kromě toho příklad vyžaduje, aby kód v tomto příkladu byl obsažen a volán z jiného Form , aby jej bylo možné zobrazit testDialog jako modální dialogové okno.Furthermore, the example requires that code in this example is contained and called from a different Form in order to display testDialog as a modal dialog box. V příkladu se používá verze ShowDialog nástroje, která určuje vlastníka dialogového okna.The example uses the version of ShowDialog that specifies an owner for the dialog box.

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 lze použít k zobrazení modálního dialogového okna v aplikaci.You can use this method to display a modal dialog box in your application. Když je tato metoda volána, kód, který následuje, není proveden do až po zavření dialogového okna.When this method is called, the code following it is not executed until after the dialog box is closed. V dialogovém okně lze přiřadit DialogResult jednu z hodnot výčtu tím, že ji DialogResult přiřadíte vlastnosti Button ve formuláři nebo nastavením DialogResult vlastnosti formuláře v kódu.The dialog box can be assigned one of the values of the DialogResult enumeration by assigning it to the DialogResult property of a Button on the form or by setting the DialogResult property of the form in code. Tato hodnota se pak vrátí touto metodou.This value is then returned by this method. Pomocí této návratové hodnoty můžete určit, jak se mají zpracovat akce, k nimž došlo v dialogovém okně.You can use this return value to determine how to process the actions that occurred in the dialog box. Například pokud bylo dialogové okno zavřeno a vrátilo DialogResult.Cancel tuto hodnotu prostřednictvím této metody, mohli byste zabránit kódu po ShowDialog volání ze spouštění.For example, if the dialog box was closed and returned the DialogResult.Cancel value through this method, you could prevent code following the call to ShowDialog from executing.

Když je formulář zobrazen jako modální dialogové okno, kliknutí na tlačítko Zavřít (tlačítko se znakem X v pravém horním rohu formuláře) způsobí, že je formulář skrytý a DialogResult vlastnost, která má být nastavena na DialogResult.Cancelhodnotu.When a form is displayed as a modal dialog box, clicking the Close button (the button with an X at the upper-right corner of the form) causes the form to be hidden and the DialogResult property to be set to DialogResult.Cancel. Na Close rozdíl od nemodálních formulářů není metoda volána .NET Framework, když uživatel klikne na tlačítko Zavřít formulář dialogového okna nebo nastaví hodnotu DialogResult vlastnosti.Unlike non-modal forms, the Close method is not called by the .NET Framework when the user clicks the close form button of a dialog box or sets the value of the DialogResult property. Místo toho je formulář skrytý a může se zobrazit znovu bez vytvoření nové instance dialogového okna.Instead the form is hidden and can be shown again without creating a new instance of the dialog box. Vzhledem k tomu, že formulář zobrazený jako dialogové okno je skrytý namísto uzavřeno, je Dispose nutné zavolat metodu formuláře, pokud formulář již nepotřebuje vaše aplikace.Because a form displayed as a dialog box is hidden instead of closed, you must call the Dispose method of the form when the form is no longer needed by your application.

Tato verze ShowDialog metody neurčuje formulář nebo ovládací prvek jako jeho vlastník.This version of the ShowDialog method does not specify a form or control as its owner. Při volání této verze se v aktuálně aktivním okně stane vlastník dialogového okna.When this version is called, the currently active window is made the owner of the dialog box. Pokud chcete zadat konkrétního vlastníka, použijte jinou verzi této metody.If you want to specify a specific owner, use the other version of this method.

Viz také

ShowDialog(IWin32Window) ShowDialog(IWin32Window) ShowDialog(IWin32Window) ShowDialog(IWin32Window)

Zobrazí formulář jako modální dialogové okno se zadaným vlastníkem.Shows the form as a modal dialog box with the specified 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 IWin32Window IWin32Window IWin32Window

Libovolný objekt, který IWin32Window implementuje rozhraní, které představuje okno nejvyšší úrovně, které bude vlastníkem modálního dialogového okna.Any object that implements IWin32Window that represents the top-level window that will own the modal dialog box.

Návraty

Výjimky

Formulář zadaný v owner parametru je stejný jako zobrazený formulář.The form specified in the owner parameter is the same as the form being shown.

Zobrazený formulář je již viditelný.The form being shown is already visible.

-nebo--or- Zobrazený formulář je zakázán.The form being shown is disabled.

-nebo--or- Zobrazený formulář není okno nejvyšší úrovně.The form being shown is not a top-level window.

-nebo--or- Formulář, který je zobrazen jako dialogové okno, již je modálním formulářem.The form being shown as a dialog box is already a modal form.

-nebo--or- Aktuální proces není spuštěn v interaktivním režimu uživatele (Další informace najdete v tématu UserInteractive).The current process is not running in user interactive mode (for more information, see UserInteractive).

Příklady

Následující příklad zobrazí formulář jako modální dialogové okno a vyhodnotí vrácenou hodnotu dialogového okna před určením, zda se má číst hodnota TextBox ovládacího prvku ve formuláři dialogového okna.The following example displays a form as a modal dialog box and evaluates the return value of the dialog box before determining whether to read the value of a TextBox control on the dialog box form. Tento příklad vyžaduje, aby Form byl Form2 vytvořen název s názvem, který obsahuje TextBox ovládací prvek TextBox1s názvem.This example requires that a Form named Form2 is created and that it contains a TextBox control named TextBox1. V příkladu se používá verze ShowDialog nástroje, která určuje vlastníka dialogového okna.The example uses the version of ShowDialog that specifies an owner for the dialog box.

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 lze použít k zobrazení modálního dialogového okna v aplikaci.You can use this method to display a modal dialog box in your application. Když je tato metoda volána, kód, který následuje, není proveden do až po zavření dialogového okna.When this method is called, the code following it is not executed until after the dialog box is closed. K dialogovému oknu lze přiřadit DialogResult jednu z hodnot tím, že ji přiřadíte vlastnostiveformulářinebonastavenímvlastnostiformulářevkódu.DialogResult Button DialogResultThe dialog box can be assigned one of the values of DialogResult by assigning it to the DialogResult property of a Button on the form or by setting the DialogResult property of the form in code. Tato hodnota se pak vrátí touto metodou.This value is then returned by this method. Pomocí této návratové hodnoty můžete určit, jak se mají zpracovat akce, k nimž došlo v dialogovém okně.You can use this return value to determine how to process the actions that occurred in the dialog box. Například pokud bylo dialogové okno zavřeno a vrátilo DialogResult.Cancel tuto hodnotu prostřednictvím této metody, mohli byste zabránit kódu po ShowDialog volání ze spouštění.For example, if the dialog box was closed and returned the DialogResult.Cancel value through this method, you could prevent code following the call to ShowDialog from executing.

Když je formulář zobrazen jako modální dialogové okno, kliknutí na tlačítko Zavřít (tlačítko se znakem X v pravém horním rohu formuláře) způsobí, že je formulář skrytý a DialogResult vlastnost, která má být nastavena na DialogResult.Cancelhodnotu.When a form is displayed as a modal dialog box, clicking the Close button (the button with an X at the upper-right corner of the form) causes the form to be hidden and the DialogResult property to be set to DialogResult.Cancel. Na rozdíl od nemodálních Close formulářů není metoda volána .NET Framework, když uživatel klikne na tlačítko Zavřít formulář v dialogovém okně nebo nastaví hodnotu DialogResult vlastnosti.Unlike modeless forms, the Close method is not called by the .NET Framework when the user clicks the close form button of a dialog box or sets the value of the DialogResult property. Místo toho je formulář skrytý a může se zobrazit znovu bez vytvoření nové instance dialogového okna.Instead the form is hidden and can be shown again without creating a new instance of the dialog box. Vzhledem k tomu, že formulář zobrazený jako dialogové okno je skrytý namísto uzavřeno, je Dispose nutné zavolat metodu formuláře, pokud formulář již nepotřebuje vaše aplikace.Because a form displayed as a dialog box is hidden instead of closed, you must call the Dispose method of the form when the form is no longer needed by your application.

Tato verze ShowDialog metody umožňuje zadat konkrétní formulář, který bude vlastníkem zobrazeného dialogového okna.This version of the ShowDialog method allows you to specify a specific form that will own the dialog box that is shown.

Viz také

Platí pro