乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 116|回复: 3

WinForm用户控件调整大小问题

[复制链接]

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2020-12-12 15:38:37 | 显示全部楼层 |阅读模式
我在智穷才尽。我有使用UserCont形式

n2kpod5w45z.png

n2kpod5w45z.png


cyh5xc2h14j.png

cyh5xc2h14j.png

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

154

主题

1274

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1936
发表于 2020-12-19 02:16:12 | 显示全部楼层
我的研究告诉我,自动缩放和用户控件存在几个问题。我过去也经历过
某些解决方案在某些情况下似乎可行,但并非所有解决方案都包括以下一项或多项:
1)AutoScaleMode==font
2)说到AutoScaleMode,如果从ContainerControl派生类,请确保AutoScaleModel==inherit。将其设置为任何其他值都会有效地关闭自动缩放模式
3)不要将任何控件定位在用户控件的右侧或底部,而是将面板放置在用户控件内,并设置dock==fill,然后将控件放置在面板内
4)不要在设计器中设置任何字体或更改默认字体,而是使用计算出的字体作为基础在表单构造函数或显示事件中设置字体
5)autosize==false的标签不会使用AutoScaleMode进行缩放
6)确保所有容器都设置了完全相同的AutoScaleDimensions,如果它们不相同,则会失败。如果未在所有容器上设置,则会失败
7)不要在同一容器中同时使用锚点和码头。一个或另一个将优先,并打破另一个缩放
8)如果可能,尝试以.net 4.7为目标。4.5.x和4.6中的一些扩展问题已得到解决
当然,一个行之有效但难度更大的解决方案是在有问题的控件中手动处理所有缩放
逐步浏览大量代码以找出为什么这不起作用,结果表明,在编译代码时,某些表单属性会按优先级排列,因此会以错误的顺序发生。AutoScaleDimensions是在字体之前处理的…因此,如果在winform中设置字体,它会将缩放还原为所述字体,而不是缩放字体
考虑一下:
AutoScaleDimensions设置为96DPI
字体自动缩放到适当的设置…比如从8pt到12pt
表单构造函数中的冗余字体调用,将字体设置为8ptBold
试图找出字体不正确的原因<试图解决这个问题真是一件痛苦的事,我实际上说过,在一些项目上搞砸它,因为坦率地说,这种努力是不值得的。
回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2020-12-19 20:23:25 | 显示全部楼层
谢谢你的回应。基斯。我几乎f
回复

使用道具 举报

154

主题

1274

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1936
发表于 2020-12-19 23:15:08 | 显示全部楼层
一个人可以一直保持希望…祝你好运!
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2024-11-22 00:32 , Processed in 0.147054 second(s), 63 queries .

© 2020-2024 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表