主要針對在VS2012、VS2013的工具箱中,通過“選擇項”添加自定義的Dll,如.NET類型時,出現“沒有可放置在工具箱的組件”問題的常見解決方案。例如在線編輯工具:FreeTextBox
解決方法:
【1】封裝的Dll有問題
1.編寫控件庫的擴展類時,沒有加public關鍵字,如:
1 view plaincopyprint? 2 public class MyListView: System.Windows.Forms.ListView 3 { 4 public MyListView() 5 { 6 7 } 8 }
如果去掉 public 也可以生成DLL,但當你把它添加到用戶控件時就會提示該錯誤。
2.編寫控件庫的擴展類時,沒有空的構造函數,即使如果存在帶參數的構造函數也應存在空的構造函數,如:
1 view plaincopyprint? 2 public class FirstControl : Control 3 { 4 public FirstControl() 5 { 6 } 7 public FirstControl(string strTitle) 8 { 9 } 10 }
【2】高版本的VS2012、2013等有問題
vs2012和2010添加控件一樣的,選擇項->瀏覽->選擇組件類型->瀏覽->選擇DLL。。。但在vs2010可以識別dll里的控件,但vs2012卻出現“沒有可放置在工具箱上的組件”的問題,這是有個簡單的解決方法:
通過鼠標選擇要添加的Dll,按住鼠標左鍵不放,將Dll直接拖到工具箱上,強悍吧!!<>