它在这一行中遇到了一个错误:foreach(textBoxes中的var textBox)。它无法识别 :textBoxes.i尝试写为TextBox并再次打我一个错误。我有Visual C#2010 Express版
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);
}
答案 0 :(得分:2)
看起来你正试图在构造函数中创建字段。你做不到,做这样的事情:
private TextBox[] TextBoxes = {textBox1, textBox2, textBox3, textBox4, textBox5, textBox6};
private List<string> storeItems = new List<string>();
public Form1()
{
InitializeComponent();
}
看起来你的大写错了。 TextBoxes
与C#中的textBoxes
不同。
答案 1 :(得分:1)
此行放在错误的位置。
private TextBox[] TextBoxes = {textBox1, textBox2, textBox3, textBox4, textBox5, textBox6};
您的变量TextBox仅在构造函数中被识别。你必须把它放在类中,而不是放在类的方法中。
例如在此行之后:
public partial class Form1 : Form
或者甚至喜欢这样:
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)
{
编辑:正如Svick所说,这条线也不在正确的位置:
private List<string> storeItems = new List<string>();
遵循相同的规则。
答案 2 :(得分:-1)
当您尝试通过TextBoxes
进行预告时,您的数组textBoxes
是否大写?