基本上,我希望在通过拖动调整 WindowsForm 大小时,所有内容(控件等)都能随 WindowsForm 一起缩放,以便用户可以自己确定 UI 的大小。
图片并不完美,但我希望它能解释这一点:
最简单的方法是使用 (Flow/Table)LayoutPanel 和适当的 Anchor/Drop 属性,但我觉得这限制了我的设计,目前如下所示:
我的想法是在调用 Resize() 时缩放所有组件:
foreach(Control c in Controls){
c.Scale(scaleFactor);
}
我的问题是:位置设置不正确,确定“scaleFactor”所需的舍入导致不一致。
有没有一种干净的方法来完成这一切?我是否必须使用 LayoutPanels 才能获得干净的方式?
您确定也要缩放这些文本框和标签吗?例如,文本框具有相当标准的高度。如果窗口太小而文本对于按钮/文本框等来说太大,您会期望什么?
可调整大小的窗口的内容的典型调整大小逻辑有点不同。我宁愿为组框创建一个无边框面板并堆叠/停靠所有内容,如下所示:
如果我调整此窗口的大小,它将如下所示:
顺便说一句,我不喜欢按钮像这样调整大小。我只会使用Anchor = Left, Right
对他们来说,这样他们就能保持身高。并且不要忘记设置适当的MinimumSize
对于表格。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)