C Winform控制項隨窗體縮放

2021-09-06 08:02:07 字數 1706 閱讀 1049

實現步驟:

1.在窗體中放乙個容器(例如:panel),並且將容器的dock屬性設定為fill。窗體中其他控制項都放在這個容器中。

2.建立乙個窗體類,該類繼承於原始窗體類,並在新建的這個窗體類中新增如下**,以後建立的窗體都繼承於新建的這個窗體類:

#region

控制項縮放

double

formwidth;

//窗體原始寬度

double

formheight;

//窗體原始高度

double

scalex;

//水平縮放比例

double

scaley;

//垂直縮放比例

dictionary<

string

, string

> controlinfo = 

newdictionary<

string

, string

>();

//控制項中心left,top,控制項width,控制項height,控制項字型size

//////

獲取所有原始資料

///

protected

void

getallinitinfo(control crlcontainer)

foreach

(control item 

incrlcontainer.controls)

}private

void

controlschangeinit(control crlcontainer)

private

void

controlschange(control crlcontainer)

double

itemwidth = pos[

2] * scalex;

double

itemheight = pos[

3] * scaley;

item.left = convert.toint32(pos[

0] * scalex - itemwidth / 2);

item.top = convert.toint32(pos[

1] * scaley - itemheight / 2);

item.width = convert.toint32(itemwidth);

item.height = convert.toint32(itemheight);

item.font = 

newfont(item.font.name, 

float

.parse((pos[

4] * math.min(scalex, scaley)).tostring()));}}

}#endregion

3.在新建的窗體類中重寫onsizechanged

事件,並呼叫

controlschangeinit和

controlschange方法,**如下:

protected

override

void

onsizechanged(eventargs e)}

4.在窗體的建構函式中呼叫

getallinitinfo方法,**如下:

getallinitinfo(

this

.controls[

0]);

C Winform控制項隨窗體縮放

實現步驟 1.在窗體中放乙個容器 例如 panel 並且將容器的dock屬性設定為fill。窗體中其他控制項都放在這個容器中。2.建立乙個窗體類,該類繼承於原始窗體類,並在新建的這個窗體類中新增如下 以後建立的窗體都繼承於新建的這個窗體類 region 控制項縮放 double formwidth ...

C winform 窗體縮放自適應

1.首先在窗體上放上乙個panel容器,並將容器的dock屬性設為fill,即所有的控制項都放在了這個容器裡。using system using system.collections.generic using system.drawing using system.text using syst...

C Winform 控制項大小隨窗體大小等比例縮放

在from1.cs中輸入如下 public form1 其中settag this 為控制項等比例縮放的方法 region 控制項大小隨窗體大小等比例縮放 private float x 定義當前窗體的寬度 private float y 定義當前窗體的高度 private void settag ...