簡體   English   中英

C#是否執行Windows窗體的動態繼承之類的操作?

[英]C# Do something like dynamic inheritance for Windows Forms?

我正在使用具有某些窗體主題選項的第三方Windows窗體庫,例如使窗體窗口看起來像Office Forms(類Office2007Form)或Metro Metros(類MetroForm)。 該庫由SyncFusion創建。

https://www.syncfusion.com/products/windows-forms/office2007form

https://www.syncfusion.com/products/windows-forms/metroform

不幸的是,沒有一個表單類可以通過屬性設置主題(類似:SyncFusionForm.Theme = Metro)。 相反,這些類是分開的,因此如果我想同時支持兩個主題,則必須使用相同的控件和幾乎相同的代碼為每個主題創建重復的表單。

是否可以通過模擬接口的多重繼承來動態設置類似的內容? 我沒有表單類的源,因此我的選擇不太靈活。 要創建以SyncFusion為主題的表單,我目前僅創建Windows表單並將基類從“表單”更改為“ Office2007Form”或“ MetroForm”,然后為顏色設置了一些屬性,等等。

請讓我知道是否有人對我如何在不復制控件和代碼的情況下有所了解。 提前致謝!

我的第一個直覺是將所有內容放在UserControl上。 然后,根據需要將用戶控件添加到Office2007Form或MetroForm實例中。

我遵循“偏重於繼承”的設計模式原則

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM