【发布时间】:2021-05-24 16:56:51
【问题描述】:
我有几个文本框,需要验证的数据应该是0和100的整数。
出于这个原因,我在该类中创建了一个类 TextBoxChecker,其中有一个成员函数 TextBoxLeave,用于检查 0 到 100 之间的文本框值。
public void TextboxLeave(ref object sender, EventArgs e, ErrorProvider err,string message)
{
if ((sender as TextBox).Text != "")
{
if (Convert.ToDouble((sender as TextBox).Text) >= 0 && Convert.ToDouble((sender as
TextBox).Text) <= 100)
return;
else
{
(sender as TextBox).Focus();
(err as ErrorProvider).SetError((sender as TextBox), message);
}
}
}
该函数在表单应用程序 Textbox_Leave 事件后面使用。
TextBoxChecker checker=new TextBoxChecker();
private void txtMaxDetect_Leave(object sender, EventArgs e)
{
checker.TextboxLeave(ref sender, e, this.errProviderKademe, "Value cannot be greater than
100");
}
问题是当将发件人作为参数传递时 System.NullReferenceExcpetion 被抛出,即使我调试发件人文本值是有效的。
有什么问题,谢谢。
【问题讨论】:
标签: c# events textbox nullreferenceexception