sxl_88
sxl_88
采纳率50%
2015-04-17 11:43 阅读 5.2k
已采纳

C# Winfrom项目,如何将form窗体缩小比例后嵌入到另一个窗体的Panel控件

在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控件中。
请问各位,有没有相关的参考资料或源码解决此问题。谢谢。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

6条回答 默认 最新

  • 已采纳
    caozhy 从今以后生命中的每一秒都属于我爱的人 2015-04-17 12:56

    不用管分辨率。
    你首先放一个TableLayoutPanel,设置它的dock为fill
    然后点属性,出现之前给你看的对话框
    列下拉添加3列,每列33%
    同样的道理,添加3行,每行也是33%

    回到界面设计器,然后在每个格子里放一个panel,分别dock也设置为fill

    这样你改变窗体的大小,里面的panel也会跟着缩放,但是始终保持恒定的比率

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2015-04-17 12:26

    使用TableLayoutPanel控件,里面分好九宫格,塞入你的Panel,并且Dock设置为fill
    TableLayoutPanel支持按比例布局

    点赞 评论 复制链接分享
  • sxl_88 sxl_88 2015-04-17 12:47

    但是要求form1窗体的大小为:1920*1080,每个Panel控件的大小为:640*360(共九个panel控件),分成3行3列排列在form1窗体中。
    按照您的方法,具体应该怎么设置,能不能详细点。谢谢!

    点赞 评论 复制链接分享
  • sxl_88 sxl_88 2015-04-17 12:51

    如果要设置form1窗体的大小设置为:1920*1080,每个Panel控件的大小为:640*360(共九个panel控件),按照您的方法,TableLayoutPanel和每个Panel控件,具体应该怎么设置,能不能详细点。谢谢!

    点赞 评论 复制链接分享
  • sxl_88 sxl_88 2015-04-17 13:04

    哦,那就是不用设置form1窗体的大小以及每个Panel控件的大小,直接在form1窗体中放一个TableLayoutPanel控件,然后就按照您给的过程设置就可以了。
    是这样吗?

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2015-04-17 13:57

    是的,你可以设置form1的windowstate属性,让它一运行就是最大化

    点赞 评论 复制链接分享

相关推荐