C#不使用tabcontrol控件,一个WinForm中如何添加多层大小相同的panel?

现在需要做一个WinForm,里头放一个分割条控件,分割条左边是一个TreeView,根据选中的树结点在分割条右边显示不同的内容。换句话说,分隔条右边的面板布局就是类似于... 现在需要做一个WinForm,里头放一个分割条控件,分割条左边是一个TreeView,根据选中的树结点在分割条右边显示不同的内容。换句话说,分隔条右边的面板布局就是类似于Java里的CardLayout效果。请问这种panel层叠效果该如何实现呢(在不能使用选项卡tabcontrol控件的情况下)?
请问如何制作一个自定义控件呢?
我记得好像可以先编辑然后编译成组件,之后就可以在工具箱中使用的,但我忘记了具体的步骤。
展开
 我来答
cnmahj
2010-08-31 · TA获得超过954个赞
知道小有建树答主
回答量:785
采纳率:0%
帮助的人:1061万
展开全部
你只要在项目下新建文件,选择类型为自定义控件。
然后象使用Form一样写这个控件的功能即可。
编译之后选择Form的设计窗口就可以看到你新添加的控件了。
它可以向VS自带的控件一样使用。
----------------
看你的描述如果把这些功能都做到一个Form上会很复杂。
建议你把你要显示的每一个Panel做一个自定义控件并公开相应的接口。
在你的WinForm上直接放上你的自定义控件。控制它们显示与否即可。
具体的控制处理什么的都在控件内部进行,只是公布一些必要的方法和事件,这样可以显著的降低复杂度,不容易出错。
yxz0539
2010-08-26 · TA获得超过1597个赞
知道大有可为答主
回答量:1759
采纳率:0%
帮助的人:1754万
展开全部
你的想法不建议使用,多个Panel重叠在一起不好处理
能否在右边放一个Panel,在你左边单击TreeView节点的时候,用代码在右边更改内容呢?
或者你在代码中多声明几个Panel,不把它添加到窗体上。在右边放一个容器,单击TreeView节点的时候动态向里面添加Panel。用容器控件的obj.Controls.Add(要添加的Panel)方法添加,obj.Controls.Remove(控件)移除
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f36e5ce
2010-08-27 · 超过13用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:35.5万
展开全部
关注ing,给楼主顶一下。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式