最近遇到的一个问题窗体在win7下編译成功,控件位置显示正常但是放在xp上运行控件的位置就会错乱,显得界面很乱
即根据系统字体控制缩放。
这样就会保持控件的位置固定
改进C# winform 控件窗体及其控件自适应各種屏幕分辨率
一说明 曾经写过 ,其中也讲解了控件自适应的原理。近期有网友说装在panel里面的控件,没有效果
这是控件嵌套的問题,加入即可实现使用皮肤时,要注意在窗体Load事件中有些控件(比如DataGridView)的子控件还没有完成,在这里记录控件的个数比较少而在窗体SizeChanged事件中获取的比较多(是正常的)。
解决的方法是记录控件的初始位置和大小以及处理控件的缩放,都放到窗体SizeChanged事件中只需苐一次记录控件的初始位置和大小,之后再调用类的自适应方法即可
二。使用方法 1.把自适应的类整体复制到你的工程命名空间里(这样做,每个窗体均可使用)
然后在需要自适应的窗体中做2步即可:
2.声明自适应类实例
3.为窗体添加SizeChanged事件,并在其方法Form1_SizeChanged中首次记录窗体和其控件初始位置和大小,之后调用类的自适应方法完成自适应。
三完整代码如下:
(一)。自适应窗体的玳码:
(二)自适应类的代码
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。