好的......我正在编写一个.NET CF(VBNET 2008 3.5 SP1)应用程序,它有一个主表单,它根据菜单点击动态加载特定的UserControls,这是一种框架理念。
这些控件都有某些方法和属性需要在应用程序中运行。
现在我作为一个接口做这个,但是这一切都在加剧,因为有些方法是可选的,但我必须根据接口的性质来实现它们。
我更喜欢使用继承,因此我可以使用可覆盖性来继承某些代码,但是如果我编写一个继承System.Windows.Forms.UserControl
的类然后从中继承我的控件,它就会曲折,并告诉我UserControls 必须直接从System.Windows.Forms.UserControl
继承。 (谈论设计缺陷!)
接下来我想,好吧,让我使用一个部分类来扩展System.Windows.Forms.UserControl
,但是当我这样做时,即使它似乎都编译得很好,我的新属性/方法都没有显示在我的身上控制。
有什么方法可以使用部分类来“扩展”System.Windows.Forms.UserControl
?
例如,任何人都可以给我一个部分类的代码示例,它只是向MyCount As Integer
类添加System.Windows.Forms.UserControl
只读属性吗?如果我能看到如何实现这一目标,我可以从那里开始并添加其余的功能。
提前致谢!我一直在搜索谷歌,但找不到任何似乎适用于.NET CF上的UserControl扩展。接口方法让我发疯,因为即使是一个小小的改变意味着更新所有控件是否需要“覆盖”方法。
编辑:我正在寻找一种方法来尽可能简单地进行代码继承,没有可视继承。我的控件没有共享任何常见的可视元素,我真的只需要在代码隐藏中继承常见的功能。
答案 0 :(得分:2)
我刚刚在SmartDevice项目中测试过UserControl继承,它运行正常 我使用了从UC模板创建的BaseUserControl,而不只是一个类。
答案 1 :(得分:1)
好的,我必须做的就是“显示所有项目文件”。然后显示一堆隐藏文件。对于每个表单/控件,其中一个隐藏文件是myform.designer.vb
文件。您需要更改Inherits
文件中的designer.vb
行。
然后它完美无缺。