具有ComponentResourceManager语法错误的通用UserControl

时间:2013-04-08 20:51:52

标签: .net vb.net winforms windows-forms-designer

在我的WinForms项目(VS2010,.NET 4.0)中,我有一个名为MyView的用户控件,它来自System.Windows.Forms.UserControl。然后我将此控件修改为通用用户控件:

Partial Class MyView(Of TEntity As {New, Class})
        Inherits System.Windows.Forms.UserControl

     ' source code here

End Class

不幸的是,来自VS Winforms Designer的自动生成的InitializeComponent()代码提供了vb.net语法错误并产生编译错误:

    Dim resources As System.ComponentModel.ComponentResourceManager = 
New System.ComponentModel.ComponentResourceManager(GetType(MyView)) 

而不是上面的代码行,应该有:

    Dim resources As System.ComponentModel.ComponentResourceManager = 
New System.ComponentModel.ComponentResourceManager(GetType(MyView(Of TEntity)))

如何解决VS2010 WinForms Designer的这种行为?

1 个答案:

答案 0 :(得分:0)

相关主题以及一些解释和建议的解决方法:Fix embedded resources for a generic UserControl

可能是VS2010的错误。

Bypass方法非常类似于已知的修复VS限制使用VS Winforms Designer以及从Generic类型派生的控件和表单的方法。但是它涉及创建额外的附件类。