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

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

VS.NET所谓的窗体是一个固定的桌面形式,单对于Winform来说可以作为forms,也可以作为userControl,完全可以把窗体作为一个userControl,实际上就是一样的东西,在里面画子窗体控件

在主窗体就可以用panel作为容器去增加、删除、隐藏显示,代码很简单,过程千万不能想复杂了,不然强行使用反射的方法,把窗体硬生生嵌套在panel里,那就会触发重绘背景动作,引起整个桌面程序的闪烁,双缓冲也缓解不了这个问题,因为双缓冲是缓冲form容器自身。

所以,最简单使用的办法还是把子窗体做成自定义控件,就再也不要show了,不需要显示的你可以隐藏掉,显示隐藏就是切换动作,d出窗口也可以交互自定义控件数据,并无影像任何效果,这是Control和容器的本意。

你是怎么在panel加载子窗体的?是把子窗体的控件全部复制到panel里来么?这样当然是不会触发关于窗体的事件的,除非你是用Show()或ShowDialog()才会触发,如果真的要触发的话,请把定义leave和closing事件改为public然后在主窗体里调用它。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11786785.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存