2010-08-26 56 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