Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 创建新的拆分容器或扩展现有拆分容器_C#_.net_Winforms_Controls - Fatal编程技术网

C# 创建新的拆分容器或扩展现有拆分容器

C# 创建新的拆分容器或扩展现有拆分容器,c#,.net,winforms,controls,C#,.net,Winforms,Controls,实际上,我想我更愿意简单地扩展winforms的现有SplitContainer控件 我希望从工具箱中添加我自己的SplitContainer,然后根据需要添加更多的面板。并根据需要移除 大概是这样的: 如何开始扩展SplitContainer?为什么不将Panelcontrols与Dockstyle和Splittercontrols一起使用呢 如果您真的想编写自己的Splittcontainer,您必须编写控件本身、ParentControlDesigner和DesignerActionLi

实际上,我想我更愿意简单地扩展winforms的现有SplitContainer控件

我希望从工具箱中添加我自己的SplitContainer,然后根据需要添加更多的面板。并根据需要移除

大概是这样的:


如何开始扩展SplitContainer?

为什么不将Panelcontrols与Dockstyle和Splittercontrols一起使用呢


如果您真的想编写自己的Splittcontainer,您必须编写控件本身、ParentControlDesigner和DesignerActionList。

回答老问题合法吗

我建议使用TableLayoutPanel,因为它可以根据需要添加更多的列和行。您可以添加面板,并将布局中项目的属性设置为停靠填充


当您完成创建该控件时,您可能有一些功能,允许您在面板中嵌套另一个拆分面板,这正是您已经拥有的:)我在设计期间需要这种支持,我不能一直在另一个控件中添加拆分容器,它变得更难管理。如果你是这个意思。但是谢谢你的建议。:)“如何开始扩展SplitContainer”的字面答案是
类MySplitContainer:SplitContainer
。不过,我同意费利斯的看法。只需将容器嵌套即可。这比你想象的要容易管理得多。我会尝试嵌套-我也会尝试扩展lol。谢谢你的建议,当我放弃尝试扩展它时,我会记住这一点。:)从SplitContainer继承太多无法重写的私有方法是无法完成的。在您放弃并开始嵌套拆分器或切换到DockPanel套件之前,请给它一周的时间。