C#怎么把另一个窗体在主窗体的panel里显示

 我来答
创作者zUzVB1Sl31
2015-10-31 · 编程类资料、英语学习资料
创作者zUzVB1Sl31
采纳数:1331 获赞数:5974

向TA提问 私信TA
展开全部
VS.NET所谓的窗体是一个固定的桌面形式,单对于Winform来说可以作为forms,也可以作为userControl,完全可以把窗体作为一个userControl,实际上就是一样的东西,在里面画子窗体控件。
在主窗体就可以用panel作为容器去增加、删除、隐藏显示,代码很简单,过程千万不能想复杂了,不然强行使用反射的方法,把窗体硬生生嵌套在panel里,那就会触发重绘背景动作,引起整个桌面程序的闪烁,双缓冲也缓解不了这个问题,因为双缓冲是缓冲form容器自身。
所以,最简单使用的办法还是把子窗体做成自定义控件,就再也不要show了,不需要显示的你可以隐藏掉,显示隐藏就是切换动作,弹出窗口也可以交互自定义控件数据,并无影像任何效果,这是Control和容器的本意。
夜色华丽
2011-10-09 · TA获得超过664个赞
知道小有建树答主
回答量:800
采纳率:0%
帮助的人:394万
展开全部
首先将要作为控件的窗体的 TOPLEVEL属性设置为False
f1.TopLevel = false;
然后像添加普通控件一样加入到panel的controls里面就好
panel.Controls.Add(f1);
更多追问追答
追问
试过了,可是还是不行哦
追答
少了一句。。。
f1.Show();
然后呢。。如果像让F1像控件一样还要把F1的FormBorderStyle设置一下
f1.FormBorderStyle = FormBorderStyle.None;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
coolapp
2011-10-09 · TA获得超过771个赞
知道小有建树答主
回答量:505
采纳率:25%
帮助的人:219万
展开全部
没这功能啊
你用MDI窗体或TabControl控件多好啊。
追问
TabControl控件的话要怎么用哦,新手不太懂啊
追答
就是选项卡控件啊
打开窗体设计
打开工具箱 > 容器 > TabControl 拖到窗体上
在把其他控件拖到 tabPageX中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式