C#WinForm窗体及其控件的自适应.docC#WinForm窗体及其控件的自适应C#WinForm窗体及其控件自适应各种屏幕分辨率一。 说明我们口己编写程序的界面,会遇到各种屏幕分辨率,只有自适应才能显的美观。实际上,做到这点也很简单,就是首先记录窗体和它上而控件的初始位置和大小,当窗体改变比例时,其控件的位置和大小也按此比例变化即可。因为窗体上控件的位置和大小是相对于自己所在的窗体的,也就是所谓的窗口坐标。在这里我们只考虑相对于白己窗体的窗口坐标更简单,也就是成比例变化。为了多个窗体共用,我在这里创建一个类AutoSizeFormClass,,,成比例地实现其控件的水平和垂直方向的变化,也就是口适应。二。 使用方法使用方法很简单,,然后在需要口适应的窗体中做3步即町:。.为窗体添加Load事件,并在其方法Forml_Load中,调用类的初始化方法,,并在其方法Forml_SizeChanged中,调用类的自适应方法,完成口适应三。 完整代码如下:(一)。自适应窗体的代码:usingSystem;;ponontModel;;;;usingSystem・;namespaceWindowsApplicationl!publicpartialclassForml:Form{//I•声明自适应类实例AutoSizeFormClassasc=newAutoSizeFormClassO;publicForml(){ponont();)//,并在其方法Forml_Load中,调用类的初始化方法,记录窗体和其控件的初始位置和大小privatevoidFormlLoad(objectsender,EventArgse){(this);}//,并在其方法Forml_SizeChanged中,调川类的自适应方法,完成自适应privatevoidFormlSizeChangcd(objectsender,EventAtgse)(this);(二)。口适应类的代码usingSystem;usingSystem・;;;namespaceWindowsApp1ication1(classAutoSizeFormClass{//(l).声明结构,只记录窗体和其控件的初始位置和大小。publicstructcontrolRectpublicintLeft;publicintTop;publicintWidth;publicintHeight;//(2)•声明1个对象//注意这里不能使用控件列表记录List<Control>nCtrl;,因为控件的关联性,记录的始终是当前的
C#WinForm窗体及其控件的自适应 来自淘豆网m.daumloan.com转载请标明出处.