gpt4 book ai didi

vb.net - 控件名称重复导致 'Not A Member'编译错误

转载 作者:行者123 更新时间:2023-12-02 11:02:56 25 4
gpt4 key购买 nike

我创建了一个名为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

我不明白为什么它会为选定的几个项目复制控件名称。

它所指的属性是基于Enums的自定义属性。
例如:
       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。

最佳答案

好的,在该线程上进行了一些有用的文章并进行了谷歌搜索之后,我发现通过从项目中删除Root Namespace,它消除了我在重复的 namespace (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

其次,我尝试构建项目时遇到的锁定是由于我在绘画事件中设置了按钮的可见状态,从而导致控件的无限刷新循环。

关于vb.net - 控件名称重复导致 'Not A Member'编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30045136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com