Form.ShowDialog Metod

Definition

Visar formuläret som en modal dialogruta.

Överlagringar

Name Description
ShowDialog()

Visar formuläret som en modal dialogruta.

ShowDialog(IWin32Window)

Visar formuläret som en modal dialogruta med den angivna ägaren.

ShowDialog()

Källa:
Form.cs
Källa:
Form.cs
Källa:
Form.cs
Källa:
Form.cs
Källa:
Form.cs

Visar formuläret som en modal dialogruta.

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

Returer

Ett av DialogResult värdena.

Undantag

Formuläret som visas är redan synligt.

-eller-

Formuläret som visas är inaktiverat.

-eller-

Formuläret som visas är inte ett fönster på den översta nivån.

-eller-

Formuläret som visas som en dialogruta är redan ett modalt formulär.

-eller-

Den aktuella processen körs inte i interaktivt användarläge (mer information finns i UserInteractive).

Exempel

I följande exempel visas ett formulär som en modal dialogruta och utvärderar returvärdet för dialogrutan innan du bestämmer om du vill läsa värdet för en TextBox kontroll i dialogruteformuläret. Det här exemplet kräver att ett Form namngivet testDialog skapas och att det innehåller en TextBox kontroll med namnet TextBox1. Dessutom kräver exemplet att koden i det här exemplet finns och anropas från en annan Form för att kunna visas testDialog som en modal dialogruta. I exemplet används den version av ShowDialog som anger en ägare för dialogrutan.

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

Kommentarer

Du kan använda den här metoden för att visa en modal dialogruta i ditt program. När den här metoden anropas körs inte koden som följer den förrän dialogrutan har stängts. Dialogrutan kan tilldelas ett av värdena i DialogResult uppräkningen genom att tilldela den DialogResult till egenskapen för en Button i formuläret eller genom att ange DialogResult egenskapen för formuläret i kod. Det här värdet returneras sedan av den här metoden. Du kan använda det här returvärdet för att avgöra hur du ska bearbeta de åtgärder som inträffade i dialogrutan. Om dialogrutan till exempel stängdes och returnerade värdet via den DialogResult.Cancel här metoden kan du förhindra att kod som följer anropet till ShowDialog körs.

När ett formulär visas som en modal dialogruta, om du klickar på knappen Stäng (knappen med ett X i det övre högra hörnet i formuläret) döljs formuläret och DialogResult egenskapen anges till DialogResult.Cancel. Till skillnad från icke-modala formulär anropas inte metoden Close av .NET Framework när användaren klickar på knappen Stäng formulär i en dialogruta eller anger värdet för egenskapen DialogResult. Formuläret är i stället dolt och kan visas igen utan att skapa en ny instans av dialogrutan. Eftersom ett formulär som visas som en dialogruta är dolt i stället för stängt måste du anropa Dispose formulärets metod när formuläret inte längre behövs av ditt program.

Den här versionen av ShowDialog metoden anger inte ett formulär eller en kontroll som ägare. När den här versionen anropas blir det aktiva fönstret ägare till dialogrutan. Om du vill ange en specifik ägare använder du den andra versionen av den här metoden.

Se även

Gäller för

ShowDialog(IWin32Window)

Källa:
Form.cs
Källa:
Form.cs
Källa:
Form.cs
Källa:
Form.cs
Källa:
Form.cs

Visar formuläret som en modal dialogruta med den angivna ägaren.

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

Parametrar

owner
IWin32Window

Alla objekt som implementerar IWin32Window som representerar det översta fönstret som äger den modala dialogrutan.

Returer

Ett av DialogResult värdena.

Undantag

Formuläret som anges i parametern owner är detsamma som formuläret som visas.

Formuläret som visas är redan synligt.

-eller-

Formuläret som visas är inaktiverat.

-eller-

Formuläret som visas är inte ett fönster på den översta nivån.

-eller-

Formuläret som visas som en dialogruta är redan ett modalt formulär.

-eller-

Den aktuella processen körs inte i interaktivt användarläge (mer information finns i UserInteractive).

Exempel

I följande exempel visas ett formulär som en modal dialogruta och utvärderar returvärdet för dialogrutan innan du bestämmer om du vill läsa värdet för en TextBox kontroll i dialogruteformuläret. Det här exemplet kräver att ett Form namngivet Form2 skapas och att det innehåller en TextBox kontroll med namnet TextBox1. I exemplet används den version av ShowDialog som anger en ägare för dialogrutan.

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

Kommentarer

Du kan använda den här metoden för att visa en modal dialogruta i ditt program. När den här metoden anropas körs inte koden som följer den förrän dialogrutan har stängts. Dialogrutan kan tilldelas ett av värdena DialogResult för genom att tilldela den till DialogResult egenskapen för ett Button i formuläret eller genom att ange DialogResult egenskapen för formuläret i kod. Det här värdet returneras sedan av den här metoden. Du kan använda det här returvärdet för att avgöra hur du ska bearbeta de åtgärder som inträffade i dialogrutan. Om dialogrutan till exempel stängdes och returnerade värdet via den DialogResult.Cancel här metoden kan du förhindra att kod som följer anropet till ShowDialog körs.

När ett formulär visas som en modal dialogruta, om du klickar på knappen Stäng (knappen med ett X i det övre högra hörnet i formuläret) döljs formuläret och DialogResult egenskapen anges till DialogResult.Cancel. Till skillnad från lägeslösa formulär anropas inte metoden Close av .NET Framework när användaren klickar på knappen Stäng formulär i en dialogruta eller anger värdet för egenskapen DialogResult. Formuläret är i stället dolt och kan visas igen utan att skapa en ny instans av dialogrutan. Eftersom ett formulär som visas som en dialogruta är dolt i stället för stängt måste du anropa Dispose formulärets metod när formuläret inte längre behövs av ditt program.

Med den ShowDialog här versionen av metoden kan du ange ett specifikt formulär som äger dialogrutan som visas.

Se även

Gäller för