2014-07-03 4 views
2

Sur un site, j'ai trouvé la méthode try parse (comment vérifier s'il y a une zone de texte vide en C#) mais je ne sais pas comment l'utiliser.Comment vérifier la zone de texte vide

int outputValue=0; 
bool isNumber=false; 
isNumber=int.TryParse(textBox1.Text, out outputValue); 
if(!isNumber) 
{ 
MessageBox.Show("Type numbers in the textboxes"); 
} 
else 
{ 
// some code 
} 

et comment puis-je résoudre ce pour 1+ nombre de zones de texte

+1

quel bit vous perturbe? (btw, le code que vous avez fourni ne vérifie pas si la zone de texte est vide) – Sayse

+0

'String.IsNullOrEmpty' est utilisé pour vérifier si un texte est nul ou vide. – Hassan

+1

Cela ne vérifie pas une case à cocher vide. Il vous permettra de savoir si le texte dans la zone de texte est un nombre entier ou non. – Enigmativity

Répondre

5

Si vous souhaitez cocher la case vide pour tous les champs de texte de votre page. Essayez IsNullOrWhiteSpace

foreach (Control child in this.Controls) 
    { 
     TextBox textBox = child as TextBox; 
     if (textBox != null) 
     { 
      if (!string.IsNullOrWhiteSpace(textBox.Text)) 
      { 
       MessageBox.Show("Text box can't be empty"); 
      } 
     } 
    } 
4

Vous n'avez pas besoin d'utiliser la fonction TryParse. La fonction TryParse dans votre exemple ci-dessus va essayer de convertir le texte de textBox1 en valeur outputValue.

En cas de réussite, le nombre booléen isNumber devient true et le paramètre outputValue obtient la valeur de la zone de texte convertie en int.

En cas d'échec, la propriété 'IsNumber' reste false et la propriété outputValue n'est jamais modifiée.

basiclly, si vous devez vérifier si une zone de texte est vide, vous pouvez utiliser:

if (string.IsNullOrEmpty(textbox1.Text) || string.IsNullOrEmpty(textbox2.Text) || string.IsNullOrEmpty(textbox3.Text) || string.IsNullOrEmpty(textbox4.Text)) 
{ 
    // At least 1 textbox is empty. 
} 
else 
{ 
    // All the textboxes are filled in. 
} 
+0

comment puis-je résoudre ceci pour toutes les zones de texte en aller, donc par exemple j'ai besoin de 4 texboxes. Ai-je besoin d'écrire le code pour tous les texoxes séparément? Et cela fonctionne pour les chaînes seulement? Je n'ai besoin que de variables int/float/double. – Sannyi97

+0

Mais s'ils doivent être remplis tous les quatre, vous pouvez utiliser une instruction if avec plusieurs clauses. J'ai édité ma réponse. – Complexity

+0

La complexité est bonne. je veux juste ajouter qu'il y a aussi string.IsNullOrWhitespace(). Typiquement les espaces sont considérés comme vides :) –

0

vous pouvez utiliser le code ci-dessous menioned

if(!string.IsNullOrEmpty(textbox1.Text)) 
{ 
    int outputValue=0; 
    bool isNumber=false; 
    isNumber=int.TryParse(textBox1.Text, out outputValue); 
    if(!isNumber) 
    { 
     MessageBox.Show("Type numbers in the textboxes"); 
    } 
    else 
    { 
     // some code 
    } 
} 
+0

qui était typo l'a changé :) –

1

De nombreuses façons de remplir cette tâche

1. string.IsNullOrEmpty(textbox1.Text) 
2. textbox1.Text = string.empty(); 
3. textbox1.Text = ""; 
Questions connexes