winform自定义组件创建失败——未将对象设置引用到实例

在创建自定义组件时遇到错误:未将对象设置引用到实例。通过检查designer.cs文件,发现缺少组件实例化和相关设置。手动添加实例化、控件属性设置以及将其添加到选项卡中解决了问题。此外,还列举了其他可能导致NullReferenceException错误的原因。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自定义了一个组件,从工具箱中拖动时报错:创建组件xxx失败……未将对象设置引用到实例。

到designer.cs文件中一看,其中只有单单的申明语句:private AirOne.GUI.Main_Form.UC_PicBoxTest uC_PicBoxTest1;

并没有实例化和其他的相关设置。

于是在designer.cs中手动添加:

1,实例化:this.uC_PicBoxTest1 = new AirOne.GUI.Main_Form.UC_PicBoxTest();

2,该控件的一些相关设置:

            //
            // uC_PicBoxTest1
            //
            this.uC_PicBoxTest1.BackColor = System.Drawing.Color.Transparent;
            this.uC_PicBoxTest1.Location = new System.Drawing.Point(4, 4);
            this.uC_PicBoxTest1.Name = "uC_PicBoxTest1";
            this.uC_PicBoxTest1.Size = new System.Drawing.Size(764, 451);
            this.uC_PicBoxTest1.TabIndex = 0;

3,由于项目中该控件是由一个选项卡tpImgTest触发,还要添加:

            this.tpImgTest.Controls.Add(this.uC_PicBoxTest1);

OK,问题解决了。至于为什么不能自动添加该控件,还在疑惑中?求解。



4,网上找到的其他的错误原因:

错误:System.NullReferenceException: 未将对象引用设置到对象的实例

第一种:重复定义造成未将对象引用设置到对象的实例错误

一般在C#中造成“未将对象引用设置到对象的实例”错误都是控件名称与codebehind里面的没有对应,对于初学编程的人,而在编码中重复定义也会造成这种问题的产生。

第二种:空对象引用导致错误    

1。控件不存在。(可加入判断是否为null来解决)

2。执行权限不够。加ASPNET和EVETRYONE所有权限。

1、ViewState 对象为Unll。

2、DateSet 空。

3、sql语句或Datebase的原因导致DataReader空。

4、声明字符串变量时未赋空值就应用变量。

5、未用new初始化对象。

6、Session对象为空。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值