功能概述。
我SaveDetails在 a 中有这个函数WinForm,它遍历所有的controls,以确定在用户输入期间是否errorProviders在 中标记了任何内容。form如果是函数returns true,我的所有TextBoxes值都需要存储在我的私有字段中,并显示一个消息框并关闭表单。
// 对于大约 15 个文本框,这是否也可以通过循环来实现?因为这看起来很麻烦。
title = cmb_Title.Text;
如果在迭代中发现了returns false一个errorProvider,它需要向用户显示一条错误消息,清除私有字段并让用户有机会重新输入详细信息,但不要清除文本框!
问题:
循环遍历所有内容,所有控件,无论是否找到errorProvider. 当只找到一个时,我怎样才能阻止它只标记?这个函数也在一个clickEvent.
代码
isValid = true;
foreach (Control c in panel1.Controls)
{
if (errorProvider1.GetError(c).Length > 0)
{
isValid = false;
MessageBox.Show("invalid entry, please revisit the form before proceding");
}
}
if (isValid)
{
title = cmb_Title.Text;
surName = txt_SurName.Text;
dateOfBirth = dateTimePicker1.Text.ToString();
MessageBox.Show("Indi Form Saved");
Hide();
}