2
在我的WinForms項目(VS2010,.NET 4.0)通用用戶控件我有一個名爲MyView
用戶控制,這是從System.Windows.Forms.UserControl
的。然後我修改這個控制是通用用戶控制:與ComponentResourceManager語法錯誤
Partial Class MyView(Of TEntity As {New, Class})
Inherits System.Windows.Forms.UserControl
' source code here
End Class
不幸的是,自動生成從VS的Winforms設計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的這種行爲?
我的用戶控件的基類是'System.Windows.Forms.UserControl'(非泛型)。在'InitializeComponent()'代碼重新生成後,我遇到了語法錯誤和編譯失敗的問題。如果我手動修復這個語法,我可以在VS Designer中打開這個控件。我的問題是與此問題相關:http://stackoverflow.com/a/1627518/823040 – sgnsajgon 2013-04-08 21:26:02
有解決此問題的解決方案:[鏈接](http://stackoverflow.com/a/14849745/823040 )。這個修復與已知的方法非常類似,用於修復使用VS Winforms Designer與從通用類型派生的控件和窗體的VS限制。但是它涉及創建額外的配件類。我不知道有沒有更漂亮的解決方案。 – sgnsajgon 2013-04-10 10:21:13