2010-08-26 67 views
1

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

问题是,我似乎无法说服VS将subclassed组件中的组件添加到流程面板;这最终与我不得不在代码中这样做。除了它不会在设计师视图中显示,这一切都很好。如果使用设计器生成的代码将其添加到分部类中,则可以在流程面板布局的设计器视图中看到控件。但是之后会被覆盖。

Visual Studio似乎没有让你在继承面板停靠控制 - 除非我做错了什么?我确实确定基本面板是公开可见的,以防这是问题。

-

另一种可能是某种方式来说服设计者执行/不覆盖我的代码在设计类。

+0

我不明白什么是“基本组件”可能意味着试试这个:。http://stackoverflow.com/questions/2785376/how-to-bubble-a-controls-features-when-place-in-a-custom-usercontrol – 2010-08-26 13:46:11

+0

基地在超级类型 – cyborg 2010-08-26 15:37:22

回答

1

您需要为您的控件制作ControlDesigner并覆盖InternalControlDesignerGetParentForComponent方法。

举一个例子,开放System.Windows.Forms.Design.SplitContainerDesigner(在System.Design.dll在反射

+0

嗯,似乎没有得到任何地方。试试这里的例子http: //msdn.microsoft.com/en-us/library/system.windows.forms.design.controldesigner%28v=VS.90%29.aspx 只有在另一个窗体或组件中完成时才会工作;它不会似乎在设计组件时本身就会激活。 – cyborg 2010-08-26 15:55:37

+0

这可能是不可能的。 – SLaks 2010-08-26 15:57:07

+0

它看起来像knida - 如果我不喜欢没有更好的答案,我会接受你的。 – cyborg 2010-08-26 16:08:45