Code Bye

C#自定义控件 在设计器中引发了一个未经处理的异常,已被禁用

请问这是什么原因造成的?为什么自定义的控件会出现异常,被禁用,?刚才在网上查了一下但是都没有说明原因和解决办法!谢谢大家!

2分

#1

你是否在构造函数里引用了什么没有初始化的变量?
可视化控件设计阶段就要绘制的,所以有关绘制自身的代码,都应该是跟外部对象无关的
这些外部对象只有当运行的时候才会有值

#2

回复1楼:

我是自定义控件,引用using,然后直接在窗体上添加的,
2分

#3

还是把你自定义控件的代码放出来看看吧
估计你也说不清楚这自定义控件到底怎么做的

你连我问的问题都没看懂

4分

#4

既然是自定义控件,你肯定在控件里使用了重绘的功能吧
如果只是几个系统控件组合在一起,再加一点代码
那么完全可以用用户控件来做,而没必要弄个自定义控件
7分

#5

自定义的控件在设计时使用的时候, 其实是已经在运行状态了, 如果写得不是很健壮就这样了
1分

#6

贴代码吧,这样看不出问题所在

#7

回复6楼:

 public class MyPictureBox:PictureBox
    {
        protected override void OnCreateControl()
        {
            Rectangle rec = new Rectangle(10, 10, 72, 72);
            GraphicsPath gp = new GraphicsPath();
            gp.AddEllipse(rec);
            // gp.AddEllipse(this.ClientRectangle);
            Region region = new Region(gp);
            this.Region = region;
            gp.Dispose();
            region.Dispose();

            base.OnCreateControl();
          
        }

    }这是我的代码,,,请各位大侠指教!

#8

回复5楼:

你好,楼下我贴了代码,还请指导!

#9

回复4楼:

楼下我贴了代码,可以帮忙看看是哪里出了问题吗?谢谢!
4分

#10

经测试,并未发现有错误

#11

回复10楼:

恩?那为什么我的会报错呢?

#12

谢谢大家,问题我自己解决了,嘿嘿,大家都有分!

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C#自定义控件 在设计器中引发了一个未经处理的异常,已被禁用