Visual Studio 2008:向继承的面板添加组件

时间:2010-08-26 11:39:38

标签: c# visual-studio visual-studio-2008

在这种情况下,我有一个带有关闭按钮和流程面板的基本组件; (FlowLayoutPanel)这个想法是扩展它的组件将它们的控件添加到流面板并且将为它们完成关闭按钮功能。

问题在于我似乎无法说服VS将子类组件中的组件添加到流面板中;这最终导致我必须在代码中这样做。这一切都很好,除了它不会出现在设计师的视图中。如果我使用设计器生成的代码将它添加到partial类中,那么我可以在流程面板中看到设计器视图中的控件。但事后这会被覆盖。

Visual Studio似乎不允许您将控件停靠在继承的面板中 - 除非我做错了什么?我确实确保基本面板公开可见,以防这是问题。

-

另一种方法可能是说服设计者执行/不覆盖设计器类中的代码。

1 个答案:

答案 0 :(得分:1)

您需要为控件设置ControlDesigner并覆盖InternalControlDesignerGetParentForComponent方法。

例如,打开System.Windows.Forms.Design.SplitContainerDesigner(在Reflector中的System.Design.dll中。