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...