是否有可能將控件轉換爲組件或組件以便在winforms中進行控制?並且可以使winforms中的按鈕透明化?是否可以將控件轉換爲組件或組件來控制winforms?
回答
還有一個巨大的區別組件和控制。組件是一個非常簡單的類,它有3個成員的設計時支持,6個成員的運行時支持,就這些。您可以在表單上放置一個,以便可以編輯其屬性。它在運行時所做的任何有用的操作都必須由組件本身來實現,而Windows Forms沒有任何幫助。
控件通過添加允許其具有良好定義的運行時行爲的成員來擴展Component,最明顯的是通過包裝本機Windows窗口。你可以看到它並點擊它。這份大型工作需要數百名成員,儘管其中大部分成員在設計師中都看不到。
將控件轉換爲組件但仍保留控件特性是可能的。 ToolStripItem可以做到這一點。但是,它需要大量的代碼,因爲您必須替換Windows窗口提供的每個功能。這很難,即使對於微軟來說,ToolStripItem類也有很多bugz。您從中獲得的唯一好處是您可以避免分配窗口句柄。有時可能會引人注目,Windows是昂貴的對象,可能會讓代碼運行緩慢。而且你堅持一個窗口的工作方式,例如對透明度的支持不佳。
使用Component支持透明度不是問題,它只是多層的油漆層疊在一起。然而,你必須提供控制所做的一切。
到此爲止,這已經完成了。這是WPF的確切模型。 WPF應用程序(通常)只有一個本地窗口句柄。其他的東西都是由WPF渲染引擎繪製的。因此支持透明度效果並不困難。任何其他的花裏胡哨的東西,比如旋轉的控件,你都無法獲得本地窗口。或者一個瀏覽器。
如果你想堅持WF,詳細解釋你需要什麼樣的透明效果。有很多方法可以獲得,這取決於你想要做什麼。 Fwiw,StackOverflow的一個很好的問題就是一個很好的答案。
您可以在實現IContainer接口的任何對象中託管組件。
對不起,你能詳細解釋一下嗎? – Harikrishna 2010-01-06 08:58:44
組件通常是公共語言運行時事物的存儲空間......它們通常用於中介語遷移。例如將一個變量的值從一個C#應用程序發送到一個Java應用程序(它們在運行時都使用CLR,因此Component基本上是唯一的方法)如果您需要傳輸控件,它可能會有點困難,因爲渲染在轉換爲CLR之前完成控制 – GxG 2010-01-06 09:40:49
放置在工具欄中的tooltripbutton是否是組件? – Harikrishna 2010-01-06 09:44:02
- 1. 如何將.net ajax項目轉換爲控件或組件
- 2. 是否可以通過HwndHost控件來繪製WPF控件?
- 3. React.js:是否可以將反應組件轉換爲HTML DOM?
- 4. Ember組件是否可以觀察控制器屬性?
- 5. 將.net用戶控件轉換爲COM組件
- 6. 將ActiveX組件轉換爲.NET組件
- 7. 是否可以將控件放入另一個控件中?
- 8. 是否可以將控件錨定到另一個控件?
- 9. 是否可以在WinForms項目中使用Internet Explorer插件作爲控件?
- 10. 當Winforms控件被添加到表單時,Winforms控件是否引發事件
- 11. 複製控制組件
- 12. 如何將UltraQRCodeBarcode Infragistics WinForms控件轉換爲圖像?
- 13. WatiN和.net winforms WebBrowser控件 - 是否可以使用DialogWatcher?
- 14. CakePHP組件或其他控制器類?
- 15. Winforms的多列組合框控件
- 16. winforms的自定義組合框控件
- 17. 是否有.NET組件可以將XLS轉換爲受密碼保護的PDF?
- 18. winforms控件大小限制
- 19. 以角度組件代碼控制我的子組件(md-button)?
- 20. 將RadioButton控件轉換爲c中的複選框控件#
- 21. 將用戶控件轉換爲服務器控件
- 22. 將用戶控件轉換爲自定義控件
- 23. 測試控件是否在組框
- 24. 將NSArray組件轉換爲整數或十進制數
- 25. Java/swing:控制檯組件?
- 26. 使用Winforms控制內部控件
- 27. 將控制器傳遞給angularjs組件
- 28. 什麼是React中的受控組件和非受控組件?
- 29. 爲WinForms WebBrowser控件抑制WaitCursor
- 30. 是否有一種方法可以使用Flash中的滑塊組件控制FLVPlayback組件的音量?
@nobugz先生,我需要這個,因爲 我做了一個名爲SetControls(control controlName)的函數,它只將控件作爲參數。而我想要傳遞tooltipcontainer中的tooltripbutton.Function SetControls()將toolstripContainer視爲控件,但不考慮tooltripbutton作爲控件,並且如果將toolstripbutton作爲控件傳遞,則會出現錯誤。那麼,我該怎麼做?我也單獨發佈這個問題。 – Harikrishna 2010-01-06 09:38:33
我已經建議你使用ToolStripItem參數對SetControls進行另一個重載。 – 2010-01-06 10:06:08
@nobugz它的任何其他解決方案,先生? – Harikrishna 2010-01-06 10:07:24