在我的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的这种行为?
答案 0 :(得分:0)
相关主题以及一些解释和建议的解决方法:Fix embedded resources for a generic UserControl
可能是VS2010的错误。
Bypass方法非常类似于已知的修复VS限制使用VS Winforms Designer以及从Generic类型派生的控件和表单的方法。但是它涉及创建额外的附件类。