最近由于项目需要,把项目中常用到的功能集成到一个控件中,以方便维护。但在更换的过程中碰到一个问题,用户控件拖得窗体中,控件中的布局还是理想中的布局格式,但一编译,糟了,控件中的布局乱了,有的子元素都不知道跑到哪里去了。通过一步步的排查,终于找到了问题所在。问题出在控件的字体是默认字体,没有设置过,如果父窗体的字体不是默认字段,控件的字体就好随着父窗体的字体变化而变化,导致控件中的元素的位置出现变化。
解决方法:1.设置控件的字段不是默认字体。
2.在控件中重载Font属性,字体变化时,重新对控件子元素重新布局。