2011-10-08 6 views
-1

il m'a frappé une erreur dans cette ligne: foreach (var textBox dans textBoxes) .il ne reconnaît pas le: textBoxes.i essayer d'écrire en tant que TextBox et me frappe à nouveau un error.i ont le Visual C# 2010 express Editionje ne peux pas imprimer le résultat dans le fichier

public Form1() 
{ 
    InitializeComponent(); 

    private TextBox[] TextBoxes = {textBox1, textBox2, textBox3, textBox4, textBox5, textBox6}; 

    private List<string> storeItems = new List<string>(); 
} 

private void button1_Click(object sender, EventArgs e) 
{ 
    var buffer = new StringBuilder(); 
    foreach(var textBox in textBoxes) 
    { 
     if (string.IsNullOrEmpty(textBox.Text)) 
     { 
      textBox.BackColor = Color.FromName("LightSalmon"); 
      MessageBox.Show("This item cannot be left blank"); 
      textBox.Focus(); 
      return; 
     } 
     textBox.BackColor = Colors.FromName("Window"); 
     buffer.Append(textBox.Text); 
    } 

    var result = buffer.ToString(); 
    storeItems.Add(result); 
    System.IO.File.AppendAllText(@"C:\Users\v\Desktop\text.txt", Environment.NewLine + result); 
} 
+1

Quel genre d'erreur est-ce que ça vous a "frappé"? – svick

Répondre

2

Il semble que vous essayez de créer des champs dans un constructeur. Vous ne pouvez pas faire cela, faites quelque chose comme ceci:

private TextBox[] TextBoxes = {textBox1, textBox2, textBox3, textBox4, textBox5, textBox6}; 

private List<string> storeItems = new List<string>(); 

public Form1() 
{ 
    InitializeComponent(); 
} 

Et il semble aussi que vous ayez la mauvaise capitalisation. TextBoxes est différent de textBoxes en C#.

-1

pourrait-il que votre tableau TextBoxes est capitalisé pendant que vous essayez de foreach par textBoxes?

1

Cette ligne est placée au mauvais endroit.

private TextBox[] TextBoxes = {textBox1, textBox2, textBox3, textBox4, textBox5, textBox6}; 

Votre variable TextBox est reconnue uniquement dans le constructeur. Vous devez le placer dans la classe, pas dans une méthode de la classe.

Par exemple après cette ligne:

public partial class Form1 : Form 

Ou encore comme ceci:

public Form1() 
{ 
    InitializeComponent(); 

    private TextBox[] TextBoxes = {textBox1, textBox2, textBox3, textBox4, textBox5, textBox6}; 

    private List<string> storeItems = new List<string>(); 
} 
private TextBox[] TextBoxes = {textBox1, textBox2, textBox3, textBox4, textBox5, textBox6}; 
private void button1_Click(object sender, EventArgs e) 
{ 

Edit: Comme l'a dit Svick, cette ligne est aussi pas au bon endroit:

private List<string> storeItems = new List<string>(); 

Suivez la même règle pour cela.

+0

Il n'est pas reconnu même dans le constructeur. Les variables locales ne peuvent pas être privées. – svick

+0

Oui, vous êtes vrai en effet, je l'ai trouvé étrange d'écrire privé dans le constructeur – GianT971

Questions connexes