我已经基于Picturebox创建了一个自定义控件:
public class Timebar : System.Windows.Forms.PictureBox
如果我在Form的初始化方法中手动创建控件/设置所有值等,这是正常的。
现在我也在工具箱的顶部找到了这个:http://i.imgur.com/4KUc0.png
当我尝试通过msvc插入它时,我得到一个错误。
Failed to create component 'Timebar'. The error message follows:
'System.MissingMethodException: Constructor on type 'SC.Timebar' not found.
这对我的组件Timebar来说并不是一个大问题(因为我将手动添加该组件),但它与我想要制作的自定义Button类相比(更像是默认的)。
班上有一个构造函数:
public Timebar(Data refr)
{
this._refr = refr;
}
如何修复上述错误?
谢谢,
~Tgys
答案 0 :(得分:8)
设计器中使用的控件必须具有无参数构造函数。设计人员需要创建一个控件来显示并允许你操作它,但它不知道它应该如何调用需要参数的构造函数。
所以,我要做的是创建一个无参数构造函数,它使用默认值链接其他构造函数,即
class Foo
{
public Foo() : this(SomeType.Value) { }
public Foo(SomeType whatever) : { /* do stuff /* }
}