c 窗體放大窗體中的控制項也隨著窗體放大

2021-08-10 07:37:25 字數 1193 閱讀 7005

1.首先定義兩個變數

private float x;//定義當前窗體的寬度

private float y;//定義當前窗體的高度

2.將控制項的寬,高,左邊距,定邊距,字型大小暫存在tag 屬性中

private void settag(control cons)}}

3.根據窗體的大小控制控制項的大小

private void setcontrols(float newx,float,newy,control cons)

); //根據窗體縮放的比例確定控制項的值,寬度

con.width=convert.toint32(system.convert.tosingle(mytag[0])*newx));

con.height=convert.toint32(system.convert.tosingle(mytag[1])*newy);//高度

con.left=convert.toint32(system.convert.tosingle(mytag[2])*newx);//左邊距

con.top=convert.toint32(system.convert.tosigle(mytag[3])*newy);//頂邊距

single currentsize=system.convert.tosingle(mytag[4])*newy;//字型大小

con.font=new font(con.font.name,currentsize,con.font.style,con.font.unit);

if(con.controls.count>0)}}

4.在窗體的裝入事件中

x=this.width;

y=this.height;

settag(this);

5.在窗體的resize事件中

float newx=(this.width) /x;

float newy=(this.height) /y;

setcontrols(newx,newy,this);

堅持寫完這些後,執行程式,放大窗體,你就可以看到控制項隨著窗體變大了

在文章的結尾再次感謝這位博主

C 當窗體大小改變時,窗體中的控制項大小也隨之改變

第一種 推薦 在窗體中加上如下 即可實現,但窗體點選放大按鈕時卻不能改變控制項大小。private size beforeresizesize size.empty protected override void onresizebegin eventargs e protected overrid...

C 中怎麼使控制項隨著窗體的大小改變而改變

文章中總結了四種方法 強烈建議 將form的formborderstyle屬性由sizeable修改為fix開頭的 因為乙個登入窗體改變大小是沒有意義的 下面回答下你的問題 和字一起 那麼把他們放到panel裡面就沒你這樣的問題了 能改變大小的窗體控制項擺放很是費勁,常用方法就那幾個 panel裡放...

隨著窗體大小變化改變控制項的大小和字型

public struct formsizechange float mfn float form.size.height formsizechange.currentsize.height 放大率 width convert.toint32 float form.size.width formsi...