25/05/2018, 23:29

Về Màn hình đôi và Form người dùng

Form người dùng có chứa biến giá trị StartupPosition, quy định về vị trí xuất hiện của form. Mặc định giá trị này sẽ được đặt là 1 (CenterOwner), có nghĩa là mẫu form sẽ được xuất hiện ở chính giữa màn hình Excel. Về cơ bản sẽ không có vấn đề gì, ngoại trừ đối với trường hợp bạn sử dụng 2 màn ...

Form người dùng có chứa biến giá trị StartupPosition, quy định về vị trí xuất hiện của form. Mặc định giá trị này sẽ được đặt là 1 (CenterOwner), có nghĩa là mẫu form sẽ được xuất hiện ở chính giữa màn hình Excel.

Về cơ bản sẽ không có vấn đề gì, ngoại trừ đối với trường hợp bạn sử dụng 2 màn hình song song cùng lúc (màn hình đôi). Khi đó Form người dùng sẽ không nằm ở chính giữa trang Excel. Thường thì mẫu form hay được cố định lệch về bên trái của màn hình phụ thứ hai, kể cả khi cửa sổ Excel đã được phóng to hết cỡ ở màn hình thứ nhất.

Để có thể cố định lại vị trí của Form người dùng vào chính giữa cửa sổ Excel, bạn hãy sử dụng đoạn code sau trong khi tạo form:

“With UserForm1

  .StartUpPosition = 0

  .Left = Application.Left + (0.5 * Application.Width) – (0.5 * .Width)

  .Top = Application.Top + (0.5 * Application.Height) – (0.5 * .Height)

  .Show

End With”

Tưởng rằng vấn đề này sẽ được giải quyết ở phiên bản Excel 2010, nhưng mọi chuyện vẫn chưa có gì là cải thiện. Tuy vậy, có một điều chắc chắn là các lập trình viên của Microsoft luôn nhận thức được vấn đề này do công việc của họ yêu cầu phải sử dụng màn hình đôi thường xuyên.

0