重复的控件名称导致 'Not A Member' 编译错误
Duplicated Control Name Causing 'Not A Member' Compile Errors
我创建了一个名为 MultiTextbox 的自定义控件。当我将控件放在窗体上并尝试 运行 我的项目时,出现以下错误:
'MultiTextBox' is not a member of 'MultiTextbox.MultiTextbox'.
Type 'MultiTextbox.MultiTextbox' is not defined.
在我的 Form1.Designer 代码中,我可以看到以下问题:
Me.MultiTextbox1 = New MultiTextbox.MultiTextbox()
Me.MultiTextbox1.ObjectAlignment = MultiTextbox.MultiTextbox.ObjectPlacement.Left
Me.MultiTextbox1.Style = MultiTextbox.MultiTextbox.TextboxStyle.Normal
Friend WithEvents MultiTextbox1 As MultiTextbox.MultiTextbox
我不明白为什么它会重复选定的几个项目的控件名称。
它引用的属性是基于枚举的自定义属性。
例如:
Public Enum ObjectPlacement
Left
Right
End Enum
Private m_ObjectAlignment As ObjectPlacement = ObjectPlacement.Left
'ObjectAlignment
<Browsable(True), Category("Appearance"), _
Description("The text to display as an input group header.")> _
Public Property ObjectAlignment As ObjectPlacement
Get
Return m_ObjectAlignment
End Get
Set(value As ObjectPlacement)
If m_ObjectAlignment = value Then Return
m_ObjectAlignment = value
Me.Invalidate()
End Set
End Property
更新
如果我将我的自定义控件放在窗体上并且 运行,一切都会正常工作而不会出错,但是只要我以任何方式修改我的控件(例如大小、样式等),它就会给出我的错误,我什至无法 运行 应用程序,因为编译器只是坐在一个无限循环中说 'Building...'。我必须强制退出 VS.
好的,在此线程上发表了一些有用的帖子并进行了一些谷歌搜索后,我发现通过从我的项目中删除根命名空间,它消除了我遇到的关于重复命名空间的所有编译器错误 (MultiTextbox.MultiTextbox ):
Me.MultiTextbox1 = New MultiTextbox.MultiTextbox()
Me.MultiTextbox1.ObjectAlignment = MultiTextbox.MultiTextbox.ObjectPlacement.Left
Me.MultiTextbox1.Style = MultiTextbox.MultiTextbox.TextboxStyle.Normal
Friend WithEvents MultiTextbox1 As MultiTextbox.MultiTextbox
其次,我在尝试构建我的项目时遇到的锁定是由于我在我的绘画事件中设置了一个按钮的可见状态,导致我的控件无限刷新循环。
我创建了一个名为 MultiTextbox 的自定义控件。当我将控件放在窗体上并尝试 运行 我的项目时,出现以下错误:
'MultiTextBox' is not a member of 'MultiTextbox.MultiTextbox'.
Type 'MultiTextbox.MultiTextbox' is not defined.
在我的 Form1.Designer 代码中,我可以看到以下问题:
Me.MultiTextbox1 = New MultiTextbox.MultiTextbox()
Me.MultiTextbox1.ObjectAlignment = MultiTextbox.MultiTextbox.ObjectPlacement.Left
Me.MultiTextbox1.Style = MultiTextbox.MultiTextbox.TextboxStyle.Normal
Friend WithEvents MultiTextbox1 As MultiTextbox.MultiTextbox
我不明白为什么它会重复选定的几个项目的控件名称。
它引用的属性是基于枚举的自定义属性。 例如:
Public Enum ObjectPlacement
Left
Right
End Enum
Private m_ObjectAlignment As ObjectPlacement = ObjectPlacement.Left
'ObjectAlignment
<Browsable(True), Category("Appearance"), _
Description("The text to display as an input group header.")> _
Public Property ObjectAlignment As ObjectPlacement
Get
Return m_ObjectAlignment
End Get
Set(value As ObjectPlacement)
If m_ObjectAlignment = value Then Return
m_ObjectAlignment = value
Me.Invalidate()
End Set
End Property
更新
如果我将我的自定义控件放在窗体上并且 运行,一切都会正常工作而不会出错,但是只要我以任何方式修改我的控件(例如大小、样式等),它就会给出我的错误,我什至无法 运行 应用程序,因为编译器只是坐在一个无限循环中说 'Building...'。我必须强制退出 VS.
好的,在此线程上发表了一些有用的帖子并进行了一些谷歌搜索后,我发现通过从我的项目中删除根命名空间,它消除了我遇到的关于重复命名空间的所有编译器错误 (MultiTextbox.MultiTextbox ):
Me.MultiTextbox1 = New MultiTextbox.MultiTextbox()
Me.MultiTextbox1.ObjectAlignment = MultiTextbox.MultiTextbox.ObjectPlacement.Left
Me.MultiTextbox1.Style = MultiTextbox.MultiTextbox.TextboxStyle.Normal
Friend WithEvents MultiTextbox1 As MultiTextbox.MultiTextbox
其次,我在尝试构建我的项目时遇到的锁定是由于我在我的绘画事件中设置了一个按钮的可见状态,导致我的控件无限刷新循环。