我有一个UserControl,其上有一些预定义的控件(groupBox,button,datagridview),这些控件被标记为protected,组件变量也被标记为protected.
然后我想从这个基础UserControl继承到另一个UserControl,但是DataGridView总是被锁定在设计器中.
我怀疑它可能与实现ISupportInitilize的DataGridView有关.
public class BaseGridDetail : UserControl
定义了一个DataGridView控件(等).
public class InheritedDetail : BaseGridDetail
DataGridView控件被锁定
有谁有任何想法如何使这个控件在设计师继承后可用?
解决方法
通过它的外观,DataListView(和其他一些控件)不支持视觉继承.有一个连接问题
logged here,看起来没有希望.
已经有其他表单控件记录了类似的问题,例如flowlayoutpanel.
我无法找到强制视觉继承的方法.
这是connect的正式答案:
“对于这个特定的版本,DataGridView并不是设计用于视觉的继承,当我们计划未来版本时,我们会记住你的建议.”
这是26/05/2006.
更新:found this blog post which may have the answer
编辑:我无法验证博客帖子的声明.
看起来像might be the latest on this issue
看起来您仍然可以在运行时操作DataListView,因此您可以设置可视属性(和其他设置).这不是一个很大的妥协.