【问题标题】:.NET winform - Checkbox nullReferenceException [duplicate].NET winform - 复选框 nullReferenceException [重复]
【发布时间】:2014-12-12 17:46:13
【问题描述】:

当我尝试设置 checkbox.checked 时,我得到了空引用异常。我不知道为什么,看起来那个复选框没有初始化。

这是我的代码

public UpdateProduct(DataGridViewRow row,Form1 form)
{
    this.row = row;
    this.form = form;
    product = row.DataBoundItem as object;
    visibilityCheckBox.Checked = true;
    InitializeComponent();
}

异常在visibilityCheckBox.Checked = true;行中触发

请问有人可以帮我解决这个问题吗?非常感谢 !

【问题讨论】:

  • 如果你传递一个表单并且这样做是不可能的..你需要调用
  • 这听起来很奇怪。你是动态创建的吗?
  • @stakx:我也先关闭了那个副本,但我猜 OP 知道 NRE 是什么。我猜只是对生成的WF代码如何初始化控件存在误解。
  • 投票关闭,因为NullReferenceExceptions 确实总是同一件事,链接的答案显示了如何解决它们。它可能看起来像 visibilityCheckBox 已初始化,但如果您遇到该异常,则它 初始化(或已重置为null)。在该字段被初始化/设置的所有行上添加一个断点,并查看您的代码是否曾经停在那里。然后弄清楚为什么它不会停在那里。
  • 我忘记了必须先调用 InitializeComponent() !愚蠢的错误! :)

标签: c# .net winforms checkbox


【解决方案1】:

我猜你之前没有调用InitializeComponent,因为你试图在调用InitializeComponent之前设置它,所以visibilityCheckBox将是null

首先调用InitializeComponent 或编写另一个只更新创建的 UI 元素的方法。

【讨论】:

  • 我太笨了!没注意到。非常感谢 ! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多