VS Designer和带参数的构造函数

时间:2011-02-15 13:32:46

标签: .net winforms visual-studio

我有自定义控件MyControl。有一个无参数构造函数(VB中为Sub New())。

我将该控件放在WinForm中。

没问题。

现在,想要该构造函数中的参数。 Sub New(flag as Boolean)

在这种情况下我应该如何处理VS设计师,以便能够在Designer中打开该表单?

我在myForm中做了以下

  Public Sub New()
    MyBase.New()
    Me.MyControl_1 = New MyControl(True)
    Me.InitializeComponent()

但设计师说:

  

变量'MyControl_1'也是   未申报或从未被分配。

2 个答案:

答案 0 :(得分:2)

设计人员需要一个无参数构造函数来构建可视组件。即使将重载的构造函数添加到用户控件也会破坏设计器。有关详细信息,请参阅this问题。

答案 1 :(得分:1)

修改为此

Public Sub New()
    MyBase.New()
    Me.InitializeComponent()
    Me.MyControl_1 = New MyControl(True)

让设计师在使用之前初始化cotrol。问题不在于你的控制,问题是你没有在正确的地方使用。