2012-11-19 38 views
6

Khi tôi xây dựng hình thức của tôi trên máy tính của tôi có vẻ tốt đẹp, nhưng khi nó được biên soạn trên một máy tính khác nhau kích thước của hình thức chính nó là sai. Nhãn được di chuyển xung quanh và mọi thứ không còn được căn chỉnh đúng cách nữa.Mẫu Trông khác nhau trên máy tính khác

Làm cách nào để đảm bảo mọi thứ sẽ giống nhau trên mọi máy tính?

Tôi đã cố gắng đặt AutoScaleMode thành không, và nó đã giúp một chút nhưng sau đó các nhãn nằm một phần bên dưới các hộp văn bản tương ứng.

+0

Kiểm soát được đặt kích thước và đặt như thế nào? Tôi chưa bao giờ thấy các hình thức của tôi kết thúc tranh giành về các nghị quyết khác nhau. – Alex

+0

Cài đặt DPI trên hai máy có thể khác nhau. –

+0

Cách bạn nhóm các điều khiển của mình? Bạn đang sử dụng bất kỳ điều khiển bố cục nào? Bạn đang sử dụng neo? –

Trả lời

5

Phông chữ hoặc DPI khác nhau.

Và tôi chưa bao giờ thực sự tìm thấy một cách để nói AutoScaleMode = (most appropriate of font or dpi).

Nhưng thử AutoScaleMode = DPIAutoScaleMode = Font. Một trong số đó sẽ hoạt động.

Chúng tôi chưa bao giờ tìm được cách đáng tin cậy để xử lý việc này. Nơi làm việc của chúng tôi sử dụng để thực thi DPI trên tất cả các máy trạm, nhưng điều đó đã thay đổi. Cách tốt nhất để xử lý nó là đảm bảo bạn bố trí các điều khiển của mình bằng FlowLayoutPanel hoặc TableLayoutPanels thay vì định vị tuyệt đối các điều khiển.

+0

Nếu bạn vào Control Panel \ Appearance and Personalization \ Display bạn có sự lựa chọn giữa 100%, 125% và 150%. Tôi giả định rằng điều này sẽ thay đổi DPI. Phông chữ khác nhau như thế nào trên các máy khác nhau? – NMunro

+0

Bạn nói đúng. Đó là DPI; Microsoft chỉ nói một cách kì lạ theo ý kiến ​​của tôi. Bạn có thể thay đổi phông chữ hệ thống được sử dụng trong hộp thoại vv như [this] (http://www.sevenforums.com/tutorials/1175-fonts-change.html) – hometoast

+0

Có cách nào để biết liệu họ đã thay đổi DPI hay không phông chữ? Giải pháp ưa thích của tôi sẽ là một hộp thông báo yêu cầu họ ngừng vặn vẹo với mọi thứ. LOL – NMunro

0

Tôi đã có vấn đề này thời gian gần đây và nó chỉ ra rằng biên dịch ở mức 125% hoặc các thiết lập vừa làm cho miễn dịch nhị phân với những thay đổi ở hai 100 hoặc 150 phần trăm. Bạn vẫn cần đặt AutoScaleMode thành None.

0

Ngay cả khi chủ đề kết thúc, hai của tôi cent kể từ khi tôi đã phải đối mặt với một số vấn đề tương tự, hình thức đã có một kích thước khác nhau (trong trường hợp của tôi lớn hơn) nhưng các điều khiển nơi cùng khi đã khắc phục. Tôi chỉ giải quyết nó bằng cách cho hình dạng ban đầu kích thước nhỏ hơn so với kiểm soát, và cho phép nó phát triển tự động.

Tôi cũng áp dụng các hướng dẫn của bài viết này (How to write WinForms code that auto-scales to system font and dpi settings?) nhưng nó đã không giải quyết vấn đề của tôi.

Các vấn đề liên quan