在做C#Form 程序时,经常发现 要编辑的 Form 打不开了。IDE常常提示 空对象引用,造成 Form 打不开。并且IDE会提示是哪一行代码造成的空对象引用。
看了下原因:
1. IDE在打开 Form进行编辑的时候,会执行这个form以及其base form的 form_load事件,因此要检查在此form 以及base form 的form_load事件中写的代码,引用的对象要先做是否是null的判断。
2. 因为 form_load事件中会调用 InitializeComponent() 函数,在InitializeComponent()函数中会对 form的控件的属性进行初始化赋值,属性赋值代码(类似Property Set )的代码也会有这个问题,也要检查其中所引用的对象是不是 null。如果是null 就返回,不是null的话在做逻辑处理。
按照以上原则修改代码,所有的form都可以在 form 设计器中直接打开进行编辑了。