【发布时间】:2015-03-19 03:33:25
【问题描述】:
我正在使用第三方 Windows 窗体库,该库具有一些窗体主题选项,例如使窗体窗口看起来像 Office 窗体(Office2007Form 类)或 Metro Forms(MetroForm 类)。该库由 SyncFusion 制作。
https://www.syncfusion.com/products/windows-forms/office2007form
https://www.syncfusion.com/products/windows-forms/metroform
不幸的是,没有一个表单类可以让我通过属性设置主题(例如:SyncFusionForm.Theme = Metro)。相反,这些类是独立的,因此如果我想同时支持这两个主题,我必须为每个主题创建具有相同控件和几乎相同代码的重复表单。
有没有什么方法可以通过模拟接口的多重继承来动态设置这样的东西?我没有表单类的来源,所以我的选择不太灵活。要创建 SyncFusion 主题表单,我目前只是创建一个 Windows 表单并将基类从“Form”更改为“Office2007Form”或“MetroForm”,然后我为颜色等设置了一些属性...
如果有人知道如何在不复制我的控件和代码的情况下做到这一点,请告诉我。提前致谢!
【问题讨论】:
标签: c# winforms multiple-inheritance