2016-04-07 20 views
-2

Alanda herhangi bir metin bulunması gereken bir kod aşağıdadır; herhangi bir metin bulunmazsa, tekrar denemelerine izin veren bir ileti kutusu göstermelidir. Kod aşağıdadır:C# İleti Kutusu Ekranı

if (string.IsNullOrWhiteSpace(OrderField.Text)) 
{ 
    MessageBox.Show("Please input Order Number"); 
} 
else 
{ 
    MessageBox.Show("Derp"); 
} 
if (string.IsNullOrWhiteSpace(BoxField.Text)) 
{ 
    MessageBox.Show("Please input Number of Boxes"); 

} 
else 
{ 
    MessageBox.Show("Derp"); 
} 
+6

Ve konudur? – Bauss

+2

@Bauss'un bunu defalarca okuyarak, mesaj kutusunun bir giriş alanına sahip olmasını istedikleri anlaşılmaktadır. Bu, daha sonra modal olarak başladığınız kendi formunuzu oluşturarak elde edilebilir ya da vb kitaplığı içe aktarabilir ve bir giriş kutusu kullanabilirsiniz –

+0

Size yardım etmek ve kodunuzun gerçekten ne yapmak istediğinizi söylemek için lütfen yardım edin. –

cevap

0

Herhangi bir girdi boş değer varsa, formu doğrulamak istediğinizi düşünüyorum. Ben yöntemi ayıklanması öneririz

foreach(Control c in this.Controls) { 
    if(c is TextBox) { 
     var textbox = c as TextBox; 
     if(string.IsNullOrEmpty(textbox.Text)) { 
     MessageBox.Show(textbox.Tag.ToString() + " is empty"); 
     } 
    } 
} 
1

: Döngü formdaki tüm TextInput kontrolü, sen Etiket özelliğine göre her metin için istediğiniz kolay bir ad belirlesin

using System.Linq; 

... 

private static Boolean IsControlValid(Control control) { 
    if (!String.IsNullOrWhiteSpace(control.Text)) 
    return true; 

    // Let's be nice: put key board focus to the control 
    if (control.CanFocus) 
    control.Focus(); 

    MessageBox.Show(String.Format("Please input number at {0}.", control.Name)); 

    return false; 
} 

... 

private void SaveAndClose() { 
    // Put here all controls to be tested 
    Control[] controls = new Control[] { 
    OrderField, 
    BoxField, 
    }; 

    // do we have any controls that should be filled in? 
    if (controls.Any(control => !IsControlValid(control))) 
    return; 

    ... 
    // all controls are valid; so save/send the data 
    ... 

    Close(); // close the form 
} 
İlgili konular