2010-11-22 10 views

cevap

11

System.Windows.Forms ad alanı aracılığıyla kullandığınız varsayılan MessageBox her zaman Modal (yani, Engelleme) olacaktır. Modeless mesaj kutunuza sahip olmak istiyorsanız, MessageBox gibi görünen kendi WindowsForm'unuzu oluşturmalısınız. aşağıdaki gibi

Daha sonra bu formu görüntüler:

// C# 
//Display frmAbout as a modeless dialog 
Form f= new Form(); 
f.Show(); 
+0

öylesine i hızlı bir kullanabileceği bir dize .Show geçmek Can aşağı bir satır kod için bu cevapları kolaylaştırabilirsiniz "bulmak ve "(çok fazla MessageBox'um var)? – Alex

+0

Form sınıfınızda, bir dize üyesi ekleyin ve kurucu aracılığıyla ayarlayın. Ve FormLoad'unuzda, bu dizeyi formda statik metin olarak gösterin. – Aamir

18
private void ShowMessageBox(string text, string caption) 
{ 
    Thread t = new Thread(() => MyMessageBox(text, caption)); 
    t.Start(); 
} 

private void MyMessageBox(object text, object caption) 
{ 
    MessageBox.Show((string)text, (string)caption); 
} 

Sen metin ve resim yazısı ile ShowMessageBox() çağırabilir. Bu sadece basit bir örnek, istediğiniz düğmeleri veya simgeleri veya diğer argümanları ekleyebilirsiniz.

8

Muhtemelen en basit olanıdır:

Thread t = new Thread(() => MessageBox.Show(text)); 
t.Start(); 
3

Sen

new Thread(() => System.Windows.Forms.MessageBox.Show(text)).Start(); 
İlgili konular