WinForm用户控件调整大小问题
我在智穷才尽。我有使用UserCont形式**** Hidden Message ***** 我的研究告诉我,自动缩放和用户控件存在几个问题。我过去也经历过
某些解决方案在某些情况下似乎可行,但并非所有解决方案都包括以下一项或多项:
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
试图找出字体不正确的原因<试图解决这个问题真是一件痛苦的事,我实际上说过,在一些项目上搞砸它,因为坦率地说,这种努力是不值得的。 谢谢你的回应。基斯。我几乎f 一个人可以一直保持希望…祝你好运!
页:
[1]