Form.ShowDialog Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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ı TextBox1
bir 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ı TextBox1
bir 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.