Tôi đã ổn với Screen.PrimaryScreen.Bounds.Size
một thời gian, nhưng trên máy tính Windows7 của tôi được gắn vào TV màn hình lớn của tôi, nó cho tôi giá trị không chính xác.Các vấn đề với PrimaryScreen.Size
Tôi đã đọc ở nơi khác để thử SystemInformation.PrimaryMonitorSize
nhưng điều đó mang lại cùng giá trị.
Khi tôi nhấp chuột phải vào màn hình để có Độ phân giải màn hình, nó cho biết 1920x1080
. Hai điều trên cho tôi 1280x720
.
Tôi cũng đã thử các phiên bản WPF:
var w = System.Windows.SystemParameters.PrimaryScreenWidth;
var h = System.Windows.SystemParameters.PrimaryScreenHeight;
MessageBox.Show(new Size((int)w, (int)h).ToString());
Kích thước màn hình đã được thay đổi thông qua (kích chuột phải vào desktop) Personalize > Desktop
tùy chọn là 150% (vì màn hình là 60" và bạn ngồi loại xa)
Làm thế nào để phát hiện này để của giá trị trả về từ trên có thể được điều chỉnh
Note:.? tôi đã khám phá làm thế nào để làm được việc này với một nhấn chuột phải và thực thi điều chỉnh tương thích để vô hiệu hóa DPI ảo hóa, nhưng tôi vẫn cần một giải pháp programatic vì vậy tôi không cần phải có người sử dụng của điều chỉnh này bản thân: Xem - http://msdn.microsoft.com/en-us/library/dd464660(VS.85).aspx#dpi_virtualization
Máy tính (máy tính xách tay?) Có được kết nối với TV được đặt thành 1280 x 720 không? Tôi đã có một máy tính xách tay với độ phân giải tối đa khoảng 1320 x 900 ... –
@Grant Ý của bạn là gì? Độ phân giải màn hình là '1920x1080', không có màn hình phụ. Máy tính không phải là máy tính xách tay. –
Ah, được rồi, chỉ cần đọc nó. Tôi cho rằng bạn có một máy tính xách tay win7 sử dụng TV như một màn hình phụ. –