我是 WinForms 的新手,并且有一个基本表单,用户可以在其中向 TextBox 输入数据,并且可以按“保存”或“取消”。我想实现数据验证以确保用户实际上在 TextBox 中输入了一些内容,但截至目前,ErrorProvider 图标仅在单击 TextBox 本身时出现,并且在按下“保存”按钮时不检查验证,如我是故意的。我也在使用 Visual Studio 2013。
此事件处理程序代码在btnSave_Click
方法中:
this.txtNote.Validating += new
System.ComponentModel.CancelEventHandler(this.txtNote_Validating);
该txtNote_Validating
方法如下所示:
protected void txtNote_Validating(object sender,
System.ComponentModel.CancelEventArgs e)
{
if(txtNote.Text.Length == 0)
{
errorProvider1.SetError((Control)txtNote, "An explanation of your time entry is required.");
}
else
{
errorProvider1.SetError(txtNote, "");
}
}
此外,我没有在我的属性窗口中添加任何事件,并且在属性窗口中的我的 btnSave 事件中txtNote
添加了一个验证事件:txtNote_Validating
和 Click :。btnSave_Click
我的问题是为什么我的 TextBox 仅在我单击它时才进行验证,以及如何使我的“保存”按钮检查 TextBox 与 ErrorProvider 组件的验证?