# GÓC SÁNG TẠO > Khu vực lập trình > .NET >  Auto resize control khi resize form ?

## tindaica

Mình có 1 cài form1 và các control như tabcontrol, panel, combobox, label.. trong form1 đó . Bjo khi form1 được resize làm thế nào để các control đó cũng tự động resize cho phù hợp với form1 à ? Mong ae giúp đỡ. Thank

----------


## accxaydung

ở đây mình đang sử dụng groupbox và datadridview nhe :
trong này có thêm splipcontainer nữa nhe !
///
private void timer1_Tick(object sender, EventArgs e)
{
int R = this.Width;
int H = this.Height;
int R1 = this.splitContainer1.Panel1.Width;
int R2 = this.splitContainer1.Panel2.Width;
this.groupBoxChi.Size = new System.Drawing.Size(R2 - 30, 2*H/3);
this.groupBoxThu.Size = new System.Drawing.Size(R1 - 30, 2*H/3);

this.btBaoCaoThu.Location = new System.Drawing.Point(300, 2 * H / 3 + 15);
this.btSuaThu.Location = new System.Drawing.Point(209, 2 * H / 3 + 15);
this.btXoaThu.Location = new System.Drawing.Point(112, 2 * H / 3 + 15);
this.btThemThu.Location = new System.Drawing.Point(16, 2 * H / 3 + 15);

this.btBaoCaoChi.Location = new System.Drawing.Point(302, 2 * H / 3 + 15);
this.btSuaChi.Location = new System.Drawing.Point(208, 2 * H / 3 + 15);
this.btXoaChi.Location = new System.Drawing.Point(112, 2 * H / 3 + 15);
this.btThemChi.Location = new System.Drawing.Point(16, 2 * H / 3 + 15);
this.label1.Location = new System.Drawing.Point(R1 - 30 - 150, 2 * H / 3 + 20);
this.label2.Location = new System.Drawing.Point(R2 - 30 - 150, 2 * H / 3 + 20);

this.lbTongThu.Location = new System.Drawing.Point(R1 - 30 - 80, 2 * H / 3 + 20);
this.lbTongChi.Location = new System.Drawing.Point(R2 - 30 - 80, 2 * H / 3 + 20);

}
/////

còn đây là tabcontrol + groupbox + datagridview 

///////

void trinhbay()
{
int Rform = this.Width;
int Hform = this.Height;
int vitrimail = mailbuiduongthe.Location.X;
this.mailbuiduongthe.Location = new System.Drawing.Point(Rform - 107, 25);

tabTimKiem.Width = Rform - 40;
tabTimKiem.Height = Hform - 90;

groupGK.Width = Rform - 397;
groupCNGK.Width = Rform - 397;

groupChuHo.Width = Rform - 462;
groupBoxCNCH.Width = Rform - 462;

groupBoxTV.Width = Rform - 510;
groupTVCN.Width = Rform - 510;

groupDT.Width = Rform - 393;
groupCNDT.Width = Rform - 393;

groupKQTK.Width = Rform - 490;
groupKQTK.Height = 500;

this.groupKQTK.Location = new System.Drawing.Point(435, 7);
this.groupBoxGK.Location = new System.Drawing.Point(Rform - 385, 7);
this.groupCH.Location = new System.Drawing.Point(Rform - 450, 7);
this.groupTV.Location = new System.Drawing.Point(Rform - 500, 7);
this.groupAdEdDT.Location = new System.Drawing.Point(Rform - 380, 7);
}
private void timer1_Tick(object sender, EventArgs e)
{
trinhbay();
}
////////////////////


đơn giản là lấy kich thứoc lớn nhất hay nhỏ nhất của form trừ đi khỏang cách từ form đến bên phải groupbox( vd) = chiều rộng của groupbox

vị tri cũng tương tự nhe !

----------


## cuuseo

Hình như bạn BuiDuongThe hiểu sai ý của chủ topic rồi thì phải. 
Bạn chủ topic nói là kh resize form thì làm sao cho kích thước của các Control trên Form cũng tự động resize theo cho phù hợp với Form ấy. VD: Kéo Form to thì Button trên Form cũng to theo, kéo nhỏ thì cũng nhỏ theo...
Còn cách của BuiDuongThe thì chỉ có vị trí của các Control thay đổi khi resize thôi....

Mà câu hỏi của chủ Topic này theo mình biết là không khả thi, chỉ có thể thay đổi vị trí của các control thôi chứ không thể thay đổi kích thước của các control trên form cho phù hợp với Form được.

----------


## giamcannhanh

bạn cracker0151 xem lại bài trả lời mình xem, thay đổi cả vị trí và kích thước kìa:


bạn xem gruopbox đó thay đổi kích thước theo form chính đó, bạn đọc lại nhẹ, nếu cần mình sẽ upload lên cho xem, tại vì đang làm thôi

----------


## drspillerseo

Mình nói sai thì cho xin lỗi nhé, vì mình chỉ học VB.NET thôi. Nếu được thì bạn cho mình xin cái Demo đi, về nghiên cứu thêm
[IMG]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAA  l21bKAAAAA1BMVEXh5PJm+yKVAAAAAXRSTlMAQObYZgAAAApJR  EFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=[/IMG]

Đã bấm cảm ơn thay lời xin lỗi rồi nhé....

----------


## bebannha

ok chờ một thời gian ngắn ngắn nhe, tại vì làm chưa xong đó mà ! tương đối ổn mình upload lên heng !

----------


## giacnguvang

thui mình gửi lun cho nè:

http://www.mediafire.com/?jl0tn4ktg1ppc0p

mình mới làm ra thui à, mới học heck

----------


## hungnt021849

Cảm ơn nhé, bây h ngồi máy quán Net không có .NET Fram nên ko thử được, đợi về nhà rồi thử [IMG]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAA  l21bKAAAAA1BMVEXh5PJm+yKVAAAAAXRSTlMAQObYZgAAAApJR  EFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=[/IMG]

----------


## duonglongtrong

chạy file exe trong bin là biết à!

----------


## trangna

Tôi gửi đoạn code VB6 và VB.NET.
Chú ý có 2 cách resize, bao gồm font va không bao gồm font.
http://www.mediafire.com/?b7et9kiti3ri73i

----------


## xinhxinh513

> Tôi gửi đoạn code VB6 và VB.NET.
> Chú ý có 2 cách resize, bao gồm font va không bao gồm font.
> http://www.mediafire.com/?b7et9kiti3ri73i


cám ơn anh hai nhiều
em đang hoc vb6 cũng chưa rành lắm
thanks

----------

