首页 > 代码库 > 不包含任何UserControl

不包含任何UserControl

奇怪了,以前做控件的时候都没有这个问题,哎,又堕落了1年,什么都忘了

创建自定义控件 可以继承现有控件,也可以继承userContrl类,但是现在有个问题 

很多网上的资料说,啊,直接创建一个自定义控件项目,然后把继承usercontrl改成继承现有的控件比如class Myctl:TextBox

其实这样的做法会造成报错:XX程序集不包含任何UserControl

那么如何解决呢

1:直接创建自定义控件项目,不要管默认的那个继承usercontrl的类,然后在项目中添加一个用户控件即可,这个控件去继承现用控件就行了

用的时候,会出现两个控件 一个是默认的容器控件(就是默认继承usercontrl的控件,一个是继承了原有控件的控件(其实你想用的就是这个))

2:在你的窗体项目中直接添加用户控件即可

 

两个方法最大的区别:第一种方法会打包成DLL,第二种直接是cs文件..其他的后遗症暂时没发现~

另外注意,继承原有控件的类,必须检查设计文件,去掉不必要的东西

 

       private void InitializeComponent()        {            this.SuspendLayout();            //             // FTextBox            //             //this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);            //this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;           this.Name = "FTextBox";           this.Click+=new System.EventHandler(FTextBox_Click);           components = new System.ComponentModel.Container();          // this.Load += new System.EventHandler(this.FTextBox_Load);           // this.ResumeLayout(false);        }

注意,上面这个类是继承自原有控件的~

不包含任何UserControl