【问题标题】:Form Control Passing A Function Returns Null传递函数的表单控件返回 Null
【发布时间】: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


    【解决方案1】:

    您可以简单地将这段代码粘贴到离开事件中,而不是创建一个单独的类。如果你想创建一个单独的类,我建议你将文本值作为字符串而不是发件人对象传递。

    【讨论】:

      猜你喜欢
      • 2020-11-12
      • 2012-04-15
      • 1970-01-01
      • 1970-01-01
      • 2019-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-29
      相关资源
      最近更新 更多