Form.ShowDialog Yöntem

Tanım

Formu kalıcı iletişim kutusu olarak gösterir.

Aşırı Yüklemeler

ShowDialog()

Formu kalıcı iletişim kutusu olarak gösterir.

ShowDialog(IWin32Window)

Formu, belirtilen sahiple kalıcı bir iletişim kutusu olarak gösterir.

ShowDialog()

Formu kalıcı iletişim kutusu olarak gösterir.

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

Döndürülenler

Değerlerden DialogResult biri.

Özel durumlar

Gösterilen form zaten görünür durumda.

-veya-

Gösterilen form devre dışı bırakıldı.

-veya-

Gösterilen form üst düzey bir pencere değil.

-veya-

İletişim kutusu olarak gösterilen form zaten kalıcı bir formdur.

-veya-

Geçerli işlem kullanıcı etkileşimli modunda çalışmıyor (daha fazla bilgi için bkz UserInteractive. ).

Örnekler

Aşağıdaki örnek, formu kalıcı bir iletişim kutusu olarak görüntüler ve iletişim kutusu formundaki bir denetimin değerinin okunup okunmayacağını belirlemeden önce iletişim kutusunun dönüş değerini TextBox değerlendirir. Bu örnek, adlı bir Form adın testDialog oluşturulmasını ve adlı TextBox1bir TextBox denetim içermesi gerekir. Ayrıca örnek, bu örnekteki kodun kalıcı bir iletişim kutusu olarak görüntülenmesi testDialog için farklı Form bir kod içermesini ve farklı bir koddan çağrılmayı gerektirir. Örnek, iletişim kutusunun sahibini ShowDialog belirten sürümünü kullanır.

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

Açıklamalar

Uygulamanızda kalıcı bir iletişim kutusu görüntülemek için bu yöntemi kullanabilirsiniz. Bu yöntem çağrıldığında, iletişim kutusu kapatılana kadar onu izleyen kod yürütülür. İletişim kutusu, formdaki bir Button özelliğine atanarak DialogResult veya kodda formun DialogResult özelliği ayarlanarak DialogResult sabit listesi değerlerinden birine atanabilir. Bu değer daha sonra bu yöntem tarafından döndürülür. İletişim kutusunda gerçekleşen eylemlerin nasıl işleneceğini belirlemek için bu dönüş değerini kullanabilirsiniz. Örneğin, iletişim kutusu kapatılıp bu yöntem aracılığıyla değeri döndürdüyse DialogResult.Cancel , çağrısının ardından gelen kodun yürütülmesini ShowDialog engelleyebilirsiniz.

Form kalıcı bir iletişim kutusu olarak görüntülendiğinde, Kapat düğmesine (formun sağ üst köşesinde X işareti bulunan düğme) tıklandığında form gizlenir ve DialogResult özelliği olarak ayarlanır DialogResult.Cancel. Kalıcı olmayan formlardan farklı olarak, Close kullanıcı bir iletişim kutusunun formu kapat düğmesine tıkladığında veya özelliğin değerini DialogResult ayarladığında yöntemi .NET Framework tarafından çağrılmıyor. Bunun yerine form gizlenir ve iletişim kutusunun yeni bir örneği oluşturulmadan yeniden gösterilebilir. İletişim kutusu olarak görüntülenen form kapatılmış yerine gizlendiğinden, form artık uygulamanız için gerekli olmadığında formun yöntemini çağırmanız Dispose gerekir.

Yöntemin ShowDialog bu sürümü, sahibi olarak bir form veya denetim belirtmez. Bu sürüm çağrıldığında, etkin olan pencere iletişim kutusunun sahibi yapılır. Belirli bir sahip belirtmek istiyorsanız, bu yöntemin diğer sürümünü kullanın.

Ayrıca bkz.

Şunlara uygulanır

ShowDialog(IWin32Window)

Formu, belirtilen sahiple kalıcı bir iletişim kutusu olarak gösterir.

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

Parametreler

owner
IWin32Window

Kalıcı iletişim kutusuna sahip olacak en üst düzey pencereyi temsil eden herhangi IWin32Window bir nesne.

Döndürülenler

Değerlerden DialogResult biri.

Özel durumlar

parametresinde owner belirtilen form, gösterilen formla aynıdır.

Gösterilen form zaten görünür durumda.

-veya-

Gösterilen form devre dışı bırakıldı.

-veya-

Gösterilen form üst düzey bir pencere değil.

-veya-

İletişim kutusu olarak gösterilen form zaten kalıcı bir formdur.

-veya-

Geçerli işlem kullanıcı etkileşimli modunda çalışmıyor (daha fazla bilgi için bkz UserInteractive. ).

Örnekler

Aşağıdaki örnek, formu kalıcı bir iletişim kutusu olarak görüntüler ve iletişim kutusu formundaki bir denetimin değerinin okunup okunmayacağını belirlemeden önce iletişim kutusunun dönüş değerini TextBox değerlendirir. Bu örnek, adlı bir Form adın Form2 oluşturulmasını ve adlı TextBox1bir TextBox denetim içermesi gerekir. Örnek, iletişim kutusunun sahibini ShowDialog belirten sürümünü kullanır.

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

Açıklamalar

Uygulamanızda kalıcı bir iletişim kutusu görüntülemek için bu yöntemi kullanabilirsiniz. Bu yöntem çağrıldığında, iletişim kutusu kapatılana kadar onu izleyen kod yürütülür. İletişim kutusuna değerlerinden DialogResult biri, formdaki bir Button özelliğine DialogResult atanarak veya kodda formun DialogResult özelliği ayarlanarak atanabilir. Bu değer daha sonra bu yöntem tarafından döndürülür. İletişim kutusunda gerçekleşen eylemlerin nasıl işleneceğini belirlemek için bu dönüş değerini kullanabilirsiniz. Örneğin, iletişim kutusu kapatılıp bu yöntem aracılığıyla değeri döndürdüyse DialogResult.Cancel , çağrısının ardından gelen kodun yürütülmesini ShowDialog engelleyebilirsiniz.

Form kalıcı bir iletişim kutusu olarak görüntülendiğinde, Kapat düğmesine (formun sağ üst köşesinde X işareti bulunan düğme) tıklandığında form gizlenir ve DialogResult özelliği olarak ayarlanır DialogResult.Cancel. Modsuz formlardan farklı olarak, Close kullanıcı bir iletişim kutusunun formu kapat düğmesine tıkladığında veya özelliğin değerini DialogResult ayarladığında yöntemi .NET Framework tarafından çağrılmıyor. Bunun yerine form gizlenir ve iletişim kutusunun yeni bir örneği oluşturulmadan yeniden gösterilebilir. İletişim kutusu olarak görüntülenen form kapatılmış yerine gizlendiğinden, form artık uygulamanız için gerekli olmadığında formun yöntemini çağırmanız Dispose gerekir.

Yöntemin ShowDialog bu sürümü, gösterilen iletişim kutusuna sahip olacak belirli bir form belirtmenize olanak tanır.

Ayrıca bkz.

Şunlara uygulanır