功能概述。
我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();
}