阻止Designer将名称空间添加到自定义控件构造函数

时间:2015-04-24 07:18:36

标签: .net winforms visual-studio windows-forms-designer

我在命名空间'MyControls'中创建了一个usercontrol'MyButton'

Namespace MyControls

   <ToolStripItemDesignerAvailability(ToolStripItemDesignerAvailability.ToolStrip)>
   Public Class MyButton
       Inherits ToolStripButton
       ' Controls staff
   End Class

End Namespace

使用设计器我的控件已添加到表单中。一切正常。但是在设计师做了一些改变后我得到了错误

  

Type 'MyProject.MyControls.MyButton' is not defined.

错误的代码行是:Me.ButtonClose = New MyProject.MyControls.MyButton()

问题是因为在项目中我有一个与项目名称相同的模块 - MyProject和生成的代码New MyProject.MyControls.MyButton(),试图在该模块中找到MyButton的类型。

手动更改设计器代码(添加Global关键字或删除MyProject前缀)将不起作用,因为在设计器中进行下一次更改后,代码将重新生成并且错误将会重新出现。

另一方面,设计师未在控件的定义中添加MyProject命名空间 Friend WithEvents ButtonClose As MyControls.MyButton

问题:是否可以阻止设计人员添加MyProject命名空间或删除Global?因为我无法更改模块的名称 - 它已在其他项目中使用

0 个答案:

没有答案