Có 2 thuộc tính. InsideWidth và InsideHeight xác định độ rộng và độ cao hiển thị của của form. Lợi dụng thuộc tính này để xử lý các công thức định vị lại các control trên màn hình bằng cách dưa code vào Form_Resize.
Ví dụ bạn có một texboxA nếu bạn muốn canh giữa màn hình dù bất kỳ độ phân giải nào.
Mã:
Private Sub Form_Resize()
texboxA.Left = ( InsideWidth - texboxA.Width ) / 2
texboxA.Top = (InsideHeight - texboxA. Height) / 2
End Sub
Nếu bạn có thêm 1 texboxB cùng với texboxA canh đều theo chiều ngang màn hình
Phân tích: sẽ có 3 trống bằng nhau theo chiều ngang: 1- từ biên trái form đến cạnh trái texboxA, 2 - từ cạnh phải texboxA đến cạnh trái texboxB, 3 - Từ cạnh phải texboxB đến biên phải form.
Khoảng trống = (InsideWidth - texboxA.Width - texboxB.Width) / 3
Ta có:
Mã:
Private Sub Form_Resize()
texboxA.Left = (InsideWidth - texboxA.Width - texboxB.Width) / 3
texboxB.Left = (InsideWidth - texboxA.Width - texboxB.Width) * 2 / 3 + texboxA.Width
texboxA.Top = (InsideHeight - texboxA.Height) / 2
texboxB.Top = (InsideHeight - texboxB.Height) / 2
End Sub
Cũng như vậy, nếu ta có 1 texboxA muốn thay đổi diện tích luôn luôn cách biên form một độ rộng nhất định. Ví dụ khi tăng giảm độ rộng và cao form, texboxA sẽ co dãn nhưng cách đều biên form là 500.
Mã PHP:
Private Sub Form_Resize()
texboxA.Left = 500
texboxA.Width = InsideWidth - 500 * 2
texboxA.Top = 500
texboxA.Height= InsideHeight - 500 * 2
End Sub
Đây chỉ là những ví dụ tham khảo, từ đó căn cứ theo tỷ lệ và khoảng cách, bạn có thể tùy chỉnh kích thước và vị trí các control dễ dàng trên bất kỳ độ phân giải nào