VB.NET没有找到自定义控件的构造函数

时间:2016-11-30 20:46:40

标签: vb.net visual-studio

我做了一个用户控件,一直工作正常,直到我做了更改 - 我改变了它:

Public Sub New()
    InitializeComponent()
End Sub

到此:

Public Sub New(Optional ViewMode As Boolean = False, Optional sMaterial As String = "", Optional sCost As String = "", Optional sQuantity As String = "", Optional bOnOrder As String = "", Optional bDelivered As String = "")
    InitializeComponent()
    currMaterial = sMaterial
    currCost = sCost
    currQuantity = sQuantity
    currOnOrder = bOnOrder
    currDelivered = bDelivered
    currViewmode = ViewMode
End Sub

我需要能够写入控件和存储值,但是现在我已经添加了这个,我得到了“No Constructor Found”错误。我做错了什么?

1 个答案:

答案 0 :(得分:2)

为了创建任何类的实例,您需要调用构造函数。将控件实例添加到设计器中的表单时,无法将参数传递给构造函数,因此必须调用无参数构造函数。您的控件中不再有无参数构造函数,因此您无法在代码中仅在设计器中添加实例。如果您希望能够在设计器中添加实例,则恢复无参数构造函数,然后在“属性”窗口中设置这些值。

如果您希望能够在代码中创建实例,则可以保留两个构造函数。在您的情况下,您的新构造函数具有所有参数的默认值,因此只需将这些字段/属性设置为无参数构造函数中的默认值。