WINFROM窗体中所有控件能随之自适应大小

cszyf 2013-01-15 11:40:01

如题:WINFROM窗体中所有控件能随之自适应大小

一个窗体可通过加载时 显示最大,每个控件也是可以通过DOCK属性来自适应布局大小,可是我这地方是有一窗体里,不是简单的几个控件组成,而是有许多小控件组合成一个组合控件,然后需要动态的加载显示许多个该自定义组合控件,我又是该如何能使这个组合控件随之窗体大小而自动大小缩放呢?窗体是可以按照显示屏自动缩放大小的。

求高手帮忙解决啊!!!!
...全文
2460 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyr987503101 2014-11-06
  • 打赏
  • 举报
回复
网上也搜过一些例子,对于一些复杂的布局 还是自己写代码来控制比较好,尤其是在遇到皮肤控件的时候,有些方法还是不能适用的!
zyr987503101 2014-11-06
  • 打赏
  • 举报
回复
只能在 SizeChanged 事件里些。比如 ,哟哟一个Panel ,从坐到右一次放着 开始(btnApply),确定(btnOk),详细(btnDown) 三个按钮,现在要让着三个按钮随着窗体大小变化而始终保存在视野范围内,也就是说三个按钮相对父容器的位置始终不变,可以这样试试: panel 的SizeChanged 事件里添加 : btnApply.Left = btnApply.Parent.Width - 10 - btnApply.Width; btnOk.Left = btnApply. .Left- 10 - btnOk.Width;btnDown.Left = btnOk.Left - 10 - btnDown.Width; 10是个自己添加的数字,可以根据效果自己设定一个值!
liupan182 2014-09-09
  • 打赏
  • 举报
回复
liupan182 2014-09-09
  • 打赏
  • 举报
回复
xiaoshu666 2014-01-21
  • 打赏
  • 举报
回复
引用 11 楼 cszyf 的回复:
[quote=引用 9 楼 Mr_Mason 的回复:] 用Panel嵌套tableLayoutPanel
这个不好用,也只能用于简单的布局,复杂了些的,十分繁琐,不好[/quote] 问题是,用了这个东西,打开窗体时候的闪烁简直不可忍受啊!!!!
cszyf 2013-01-22
  • 打赏
  • 举报
回复
此贴还有没有高手赐教高招啊,给点什么思路也行啊,
cszyf 2013-01-19
  • 打赏
  • 举报
回复
引用 9 楼 Mr_Mason 的回复:
用Panel嵌套tableLayoutPanel
这个不好用,也只能用于简单的布局,复杂了些的,十分繁琐,不好
cszyf 2013-01-19
  • 打赏
  • 举报
回复
引用 6 楼 zhangxue_bjmps 的回复:
修改anchor的 值 来固定控件的位置 非常好用 楼主试试吧。
这个只能固定那个方向进行缩放而已,并不能实现我需要的
____Seven 2013-01-16
  • 打赏
  • 举报
回复
用Panel嵌套tableLayoutPanel
gucangen 2013-01-16
  • 打赏
  • 举报
回复
有个吃力不讨好的办法就是deSigner这个东西自己写,loaction按比例计算
codinghello 2013-01-16
  • 打赏
  • 举报
回复
这个问题很麻烦,winform里很难完全解决,因为跟机器的分辨率和dpi也有关系。建议你支持几种固定的大小,也就是说在这几种固定大小显示正常,其它的情况可以显示就行了,不可能完美。因为在不同的dpi下这些空间的大小会有很大的区别。不过如果是wpf的程序这方面会好做一些。
nanoxue 2013-01-16
  • 打赏
  • 举报
回复
修改anchor的 值 来固定控件的位置 非常好用 楼主试试吧。
叫我三三 2013-01-15
  • 打赏
  • 举报
回复
引用 3 楼 caozhy 的回复:
使用tablelayoutpanel,把需要缩放的东西装入里面,dock上。 自定义控件除非内部修改,否则没有什么办法。
还可以加上 SplitContainer
threenewbee 2013-01-15
  • 打赏
  • 举报
回复
使用tablelayoutpanel,把需要缩放的东西装入里面,dock上。 自定义控件除非内部修改,否则没有什么办法。
老秋先生 2013-01-15
  • 打赏
  • 举报
回复
使用流布局。 像HTML一样,先把把窗体分为几个部分 例如上下左右 中间, 分别用Panel套起来。 再将“上”包含的小控件包起来。。 如此细分。。。 剩下,你懂的。
cszyf 2013-01-15
  • 打赏
  • 举报
回复
引用 1 楼 hjywyj 的回复:
http://www.cnblogs.com/slyzly/articles/1965965.html
我使用的正是这博客里的第四种方法相吻合,但在缩放时还是不能完全缩放等比例,总是存在些误差,越缩小误差就越大导致右边部分控件被遮盖了,有没有更好的途径可解决了呢?

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧