-
CĂN CHỈNH KÍCH THƯỚC FORM
yamakashi2003 > 30-01-20, 06:56 PM
Em chào các bác ạ,
Hiện em đang gặp 1 vấn đề là khi em thiết kế 1 form với kích thước dài x rộng = với kích thước màn hình hình chữ nhật (em cũng không rõ kích thước màn nên tạm goi thế),
thì khi em mở form này trên 1 màn hình hình vuông (tức là nó bé hơn màn hình chữ nhật),
thì form của em bị mất hình 1 phần giao diện và phải dùng thanh scroll bars để kéo sang hoặc kéo xuống mới thấy phần form k hiển thị hết
Vậy các bác cho em hỏi có cách nào để form tự động căn chỉnh kích thước, tức là co lại cho kích thước vừa với màn hình không ạ,
Để không cần dùng thanh scroll bars kéo lên xuống nữa
Em xin cảm ơn ạ -
RE: CĂN CHỈNH KÍCH THƯỚC FORM
tranthanhan1962 > 30-01-20, 10:18 PM
Hì hì! Kích thước form hiển thị theo độ phân giải màn hình chứ không phải theo diện tích. do đó khi bạn thiết kế trên độ phân giải màn hình 16:9(1920x1080;1600x900...) khi chuyển qua màn hình vuông 4:3 (1400x900;1024x768...) hoặc ngược lại sẽ thiếu chiều dọc hoặc chiều ngang và bạn buột phải designe lại theo đúng độ phân giải.
Cũng có cách xử lý để cho phù hợp mọi độ phân giải màn hình nhưng:
1/ Bạn phải dùng tính chất màn hình InsideWidth, InsideHeight để xử lý
2/ Viết code cho event Form_Resize()
3/ Tính toán kích thức form và các control bằng tỷ lệ theo InsideWidth, InsideHeight.
4/ Mỗi form điều xử lý event Form_Resize() theo đúng tỷ lệ
Nếu càng nhiều control thì code càng phức tạp, rồi phải xử lý font theo từng trường hợp độ lớn nhỏ của control.
Vì vậy cách nhanh nhất là bạn chuyển màn hình về độ phân giải thấp rồi thiết kế, độ phân giải thấp OK thì form sẽ không bị thiếu khi chuyển về độ phân giải cao -
RE: CĂN CHỈNH KÍCH THƯỚC FORM
yamakashi2003 > 31-01-20, 11:42 PM
(30-01-20, 10:18 PM)tranthanhan1962 Đã viết: Hì hì! Kích thước form hiển thị theo độ phân giải màn hình chứ không phải theo diện tích. do đó khi bạn thiết kế trên độ phân giải màn hình 16:9(1920x1080;1600x900...) khi chuyển qua màn hình vuông 4:3 (1400x900;1024x768...) hoặc ngược lại sẽ thiếu chiều dọc hoặc chiều ngang và bạn buột phải designe lại theo đúng độ phân giải.
ý của bác có phải là viết code thay đổi kích thước form và các thành phần trong nó theo tỷ lệ ban đầu phải không ạ
Cũng có cách xử lý để cho phù hợp mọi độ phân giải màn hình nhưng:
1/ Bạn phải dùng tính chất màn hình InsideWidth, InsideHeight để xử lý
2/ Viết code cho event Form_Resize()
3/ Tính toán kích thức form và các control bằng tỷ lệ theo InsideWidth, InsideHeight.
4/ Mỗi form điều xử lý event Form_Resize() theo đúng tỷ lệ
Nếu càng nhiều control thì code càng phức tạp, rồi phải xử lý font theo từng trường hợp độ lớn nhỏ của control.
Vì vậy cách nhanh nhất là bạn chuyển màn hình về độ phân giải thấp rồi thiết kế, độ phân giải thấp OK thì form sẽ không bị thiếu khi chuyển về độ phân giải cao
Nhưng em để thấy khi chơi game như aoe ấy ạ, nếu em để khung hình vuông thì hình sẽ vuông vắn, còn nếu em để full màn hình chữ nhật thì hình ảnh trong game sẽ bị kéo dài ra, hơi méo hình
hoặc như trường hợp 1 cái ảnh mình chỉ kéo chiều ngang ra thì hình bị dài ra ấy ạ
Vậy bác cho em hỏi có cách tùy chỉnh đơn giản nào để giao diện form thiết kế trên màn vuông, khi mở sang màn hình chữ nhật sẽ được kéo dài ra full màn chữ nhật không ạ, hình bị kéo dài bị méo cũng không sao ạ (trường hợp này em nghĩ không cần viết code chỉnh lại font chữ hoặc chiều cao các đối tượng, vì mình chỉ kéo chiều ngang bác ạ)
vì em thiết kế form full màn vuông khi mở sang màn chữ nhật thấy thiếu 1 mảng trong hơi xấu giao diện -
RE: CĂN CHỈNH KÍCH THƯỚC FORM
mrsiro > 01-02-20, 09:30 AM
Xử lí cái này ko đơn giản đâu bạn, rất khó nữa là đằng khác. Bên web thì có khái niệm responsive để giao diện co dãn nhưng làm cực lắm, 1 vài web ko làm luôn đơn cử như facebook bạn sử dụng màn hình 23in thì mở facebook thấy giao diện nó nhỏ đúng không, còn mở trên điện thoại thì họ có 1 link riêng với chữ m.facebook.com (cái này là giao diện thiết kế dành riêng cho thiết bị di động).
Vì thế nếu dùng winform thì hầu như cách thiết kế là ko bao giờ thiết kế giao diện full màn hình, lúc nào cũng phải trừ bớt đi 1 ít để khi sử dụng màn hình nhỏ hơn thì vẫn ko bị khuyết mất các control. -
RE: CĂN CHỈNH KÍCH THƯỚC FORM
tranthanhan1962 > 01-02-20, 10:42 AM
(31-01-20, 11:42 PM)yamakashi2003 Đã viết: ý của bác có phải là viết code thay đổi kích thước form và các thành phần trong nó theo tỷ lệ ban đầu phải không ạ
Event Form_Resize() không phải dùng để xử lý theo tỷ lệ ban đầu mà là tỷ lệ hiện hành. Do đó khi chuyển từ 4:3 sang 9:6 sẽ có việc các đổi tượng trên form có tỷ lệ chiều rộng lớn hơn, khoảng cách giữa các control rộng hơn, và khi chuyển ngược lại sẽ bị thu hẹp. Các Textbox chứa ký tự như texbox, label, command button sẽ bị thừa chỗ hay thiếu chữ, cân phải viết code xử lý size font hoặc tính toán cho độ rộng tốt nhất. Còn hình ảnh thì không phải sợ.
Nhưng em để thấy khi chơi game như aoe ấy ạ, nếu em để khung hình vuông thì hình sẽ vuông vắn, còn nếu em để full màn hình chữ nhật thì hình ảnh trong game sẽ bị kéo dài ra, hơi méo hình
hoặc như trường hợp 1 cái ảnh mình chỉ kéo chiều ngang ra thì hình bị dài ra ấy ạ
Vậy bác cho em hỏi có cách tùy chỉnh đơn giản nào để giao diện form thiết kế trên màn vuông, khi mở sang màn hình chữ nhật sẽ được kéo dài ra full màn chữ nhật không ạ, hình bị kéo dài bị méo cũng không sao ạ (trường hợp này em nghĩ không cần viết code chỉnh lại font chữ hoặc chiều cao các đối tượng, vì mình chỉ kéo chiều ngang bác ạ)
vì em thiết kế form full màn vuông khi mở sang màn chữ nhật thấy thiếu 1 mảng trong hơi xấu giao diện
Ngoài trường hợp Picture trên form nếu muốn hình ảnh không thay đổi như AOE thì không chọn size mode = Stretch, Trường hợp size mode = Clip sẽ không thay đổi diện tích ảnh khi diện tích control chứ ảnh lớn hơn thì sẽ thừa, nhỏ hơn thì sẽ thiếu (thừa thiếu phần nào còn tùy thuộc Picture Alignment), Trường hợp size mode = Zoom sẽ không bị mất ảnh nó sẽ tự căn chỉnh vừa đủ cho cạnh nào nhỏ nhất và phàn thừ nằm ở vị trí nào cũng tùy thuộc Picture Alignment.
Bạn có thể tham khảo ở đây:
[Help] Thay doi chieu cao kich thuoc Form, cỡ chữ phù hơp với kích cỡ màn hình ... -
RE: CĂN CHỈNH KÍCH THƯỚC FORM
yamakashi2003 > 01-02-20, 09:20 PM
(01-02-20, 10:42 AM)tranthanhan1962 Đã viết:
em cám ơn anh, sau khi được anh tư vấn em đang phân vân vì có thể đẹp hơn nhưng ứng dụng chạy chậm rồi treo luôn thì chắc không ổn ạ(31-01-20, 11:42 PM)yamakashi2003 Đã viết: ý của bác có phải là viết code thay đổi kích thước form và các thành phần trong nó theo tỷ lệ ban đầu phải không ạ
Event Form_Resize() không phải dùng để xử lý theo tỷ lệ ban đầu mà là tỷ lệ hiện hành. Do đó khi chuyển từ 4:3 sang 9:6 sẽ có việc các đổi tượng trên form có tỷ lệ chiều rộng lớn hơn, khoảng cách giữa các control rộng hơn, và khi chuyển ngược lại sẽ bị thu hẹp. Các Textbox chứa ký tự như texbox, label, command button sẽ bị thừa chỗ hay thiếu chữ, cân phải viết code xử lý size font hoặc tính toán cho độ rộng tốt nhất. Còn hình ảnh thì không phải sợ.
Nhưng em để thấy khi chơi game như aoe ấy ạ, nếu em để khung hình vuông thì hình sẽ vuông vắn, còn nếu em để full màn hình chữ nhật thì hình ảnh trong game sẽ bị kéo dài ra, hơi méo hình
hoặc như trường hợp 1 cái ảnh mình chỉ kéo chiều ngang ra thì hình bị dài ra ấy ạ
Vậy bác cho em hỏi có cách tùy chỉnh đơn giản nào để giao diện form thiết kế trên màn vuông, khi mở sang màn hình chữ nhật sẽ được kéo dài ra full màn chữ nhật không ạ, hình bị kéo dài bị méo cũng không sao ạ (trường hợp này em nghĩ không cần viết code chỉnh lại font chữ hoặc chiều cao các đối tượng, vì mình chỉ kéo chiều ngang bác ạ)
vì em thiết kế form full màn vuông khi mở sang màn chữ nhật thấy thiếu 1 mảng trong hơi xấu giao diện
Ngoài trường hợp Picture trên form nếu muốn hình ảnh không thay đổi như AOE thì không chọn size mode = Stretch, Trường hợp size mode = Clip sẽ không thay đổi diện tích ảnh khi diện tích control chứ ảnh lớn hơn thì sẽ thừa, nhỏ hơn thì sẽ thiếu (thừa thiếu phần nào còn tùy thuộc Picture Alignment), Trường hợp size mode = Zoom sẽ không bị mất ảnh nó sẽ tự căn chỉnh vừa đủ cho cạnh nào nhỏ nhất và phàn thừ nằm ở vị trí nào cũng tùy thuộc Picture Alignment.
Bạn có thể tham khảo ở đây:
[Help] Thay doi chieu cao kich thuoc Form, cỡ chữ phù hơp với kích cỡ màn hình ... -
RE: CĂN CHỈNH KÍCH THƯỚC FORM
yamakashi2003 > 01-02-20, 09:55 PM
(01-02-20, 10:42 AM)tranthanhan1962 Đã viết:
Bác ơi tiện bác cho em hỏi là thường thì khi em thiết kế option group hoăc subform/ subreport, khi em chọn đối tượng đó và kéo ra nền thiết kế thì sẽ hiện ra 1 cái bảng hỏi như là option group winzard để em nhập số liệu đầu vào,(31-01-20, 11:42 PM)yamakashi2003 Đã viết: ý của bác có phải là viết code thay đổi kích thước form và các thành phần trong nó theo tỷ lệ ban đầu phải không ạ
Event Form_Resize() không phải dùng để xử lý theo tỷ lệ ban đầu mà là tỷ lệ hiện hành. Do đó khi chuyển từ 4:3 sang 9:6 sẽ có việc các đổi tượng trên form có tỷ lệ chiều rộng lớn hơn, khoảng cách giữa các control rộng hơn, và khi chuyển ngược lại sẽ bị thu hẹp. Các Textbox chứa ký tự như texbox, label, command button sẽ bị thừa chỗ hay thiếu chữ, cân phải viết code xử lý size font hoặc tính toán cho độ rộng tốt nhất. Còn hình ảnh thì không phải sợ.
Nhưng em để thấy khi chơi game như aoe ấy ạ, nếu em để khung hình vuông thì hình sẽ vuông vắn, còn nếu em để full màn hình chữ nhật thì hình ảnh trong game sẽ bị kéo dài ra, hơi méo hình
hoặc như trường hợp 1 cái ảnh mình chỉ kéo chiều ngang ra thì hình bị dài ra ấy ạ
Vậy bác cho em hỏi có cách tùy chỉnh đơn giản nào để giao diện form thiết kế trên màn vuông, khi mở sang màn hình chữ nhật sẽ được kéo dài ra full màn chữ nhật không ạ, hình bị kéo dài bị méo cũng không sao ạ (trường hợp này em nghĩ không cần viết code chỉnh lại font chữ hoặc chiều cao các đối tượng, vì mình chỉ kéo chiều ngang bác ạ)
vì em thiết kế form full màn vuông khi mở sang màn chữ nhật thấy thiếu 1 mảng trong hơi xấu giao diện
Ngoài trường hợp Picture trên form nếu muốn hình ảnh không thay đổi như AOE thì không chọn size mode = Stretch, Trường hợp size mode = Clip sẽ không thay đổi diện tích ảnh khi diện tích control chứ ảnh lớn hơn thì sẽ thừa, nhỏ hơn thì sẽ thiếu (thừa thiếu phần nào còn tùy thuộc Picture Alignment), Trường hợp size mode = Zoom sẽ không bị mất ảnh nó sẽ tự căn chỉnh vừa đủ cho cạnh nào nhỏ nhất và phàn thừ nằm ở vị trí nào cũng tùy thuộc Picture Alignment.
Bạn có thể tham khảo ở đây:
[Help] Thay doi chieu cao kich thuoc Form, cỡ chữ phù hơp với kích cỡ màn hình ...
không hiểu sao mấy hôm nay em kéo cái option group hoăc subform/ subreport thì đều không hiện ra bảng để em nhập số liệu đầu vào nữa ạ -
RE: CĂN CHỈNH KÍCH THƯỚC FORM
ongke0711 > 05-02-20, 01:29 PM
(01-02-20, 09:20 PM)yamakashi2003 Đã viết: em cám ơn anh, sau khi được anh tư vấn em đang phân vân vì có thể đẹp hơn nhưng ứng dụng chạy chậm rồi treo luôn thì chắc không ổn ạ
Nếu bạn đã dùng Access 2007 trở lên rồi thì tận dụng công cụ có sẳn của Access là "Anchoring" trong menu FormDesignTools -> Arrange -> Anchoring để dàn trang các Control trên Form sẽ nhanh hơn, đỡ tốn code.