在C# Winfrom项目中,有两个form窗体(form1、form2)。
form1窗体的大小为:1920*1080,在form1窗体中包函九个Panel控件,每个Panel控件的大小为:640*360,分成3行3列排列在form1窗体中。
form2窗体的大小为:960*540,在form2窗体中包函一个Panel控件,Panel控件大小为:960*540。
目前遇到一个困惑:将form1窗体加载嵌入到form2窗体的Panel控件中,由于控件的大小不对,导致无法完整显示form1窗体的内容。
有没有什么办法将form1窗体的整个界面缩小到合适的比例后再加载嵌入到form2窗体的Panel控件中,这样可以保证整个form1窗体的内容全部显示在form2窗体的Panel控件中。
请问各位,有没有相关的参考资料或源码解决此问题。谢谢。
不用管分辨率。
你首先放一个TableLayoutPanel,设置它的dock为fill
然后点属性,出现之前给你看的对话框
列下拉添加3列,每列33%
同样的道理,添加3行,每行也是33%
回到界面设计器,然后在每个格子里放一个panel,分别dock也设置为fill
这样你改变窗体的大小,里面的panel也会跟着缩放,但是始终保持恒定的比率
使用TableLayoutPanel控件,里面分好九宫格,塞入你的Panel,并且Dock设置为fill
TableLayoutPanel支持按比例布局
但是要求form1窗体的大小为:1920*1080,每个Panel控件的大小为:640*360(共九个panel控件),分成3行3列排列在form1窗体中。
按照您的方法,具体应该怎么设置,能不能详细点。谢谢!
如果要设置form1窗体的大小设置为:1920*1080,每个Panel控件的大小为:640*360(共九个panel控件),按照您的方法,TableLayoutPanel和每个Panel控件,具体应该怎么设置,能不能详细点。谢谢!
哦,那就是不用设置form1窗体的大小以及每个Panel控件的大小,直接在form1窗体中放一个TableLayoutPanel控件,然后就按照您给的过程设置就可以了。
是这样吗?
是的,你可以设置form1的windowstate属性,让它一运行就是最大化