Подтвердить что ты не робот

Получить и установить разрешение экрана

Как я могу собирать и изменять разрешение экрана с помощью Visual С#?

4b9b3361

Ответ 1

Для получения разрешения экрана вы захотите использовать класс System.Windows.Forms.Screen. Свойство Screen.AllScreens может использоваться для доступа к коллекции всех дисплеев в системе или вы можете использовать Screen.PrimaryScreen для доступа к основному дисплею.

Класс Screen имеет свойство Bounds, которое можно использовать для определения разрешения текущего экземпляра класса, Например, чтобы определить разрешение текущего экрана:

Rectangle resolution = Screen.PrimaryScreen.Bounds;

Для изменения разрешения все становится немного сложнее. Эта статья (или этот) предоставляет подробную реализацию и объяснение. Надеюсь, это поможет.

Ответ 2

В С# это как получить разрешение экрана:

нажмите кнопку или заполните форму:

string screenWidth = Screen.PrimaryScreen.Bounds.Width.ToString();
string screenHeight = Screen.PrimaryScreen.Bounds.Height.ToString();
Label1.Text = ("Resolution: " + screenWidth + "x" + screenHeight);

Ответ 3

Этот код отлично работает в WPF. Вы можете использовать его либо при загрузке страницы, либо при нажатии кнопки.

      string screenWidth =System.Windows.SystemParameters.PrimaryScreenWidth.ToString();

      string screenHeight = System.Windows.SystemParameters.PrimaryScreenHeight.ToString();

      txtResolution.Text ="Resolution : "+screenWidth + " X " + screenHeight;

Ответ 4

в Winforms существует класс Screen, который вы можете использовать для получения данных о размерах экрана и глубине цвета для всех дисплеев, подключенных к компьютеру. Здесь страница документов: http://msdn.microsoft.com/en-us/library/system.windows.forms.screen.aspx

ИЗМЕНЕНИЕ разрешения экрана сложнее. Существует сторонний класс разрешения, который обертывает собственный код, к которому вы в противном случае подключали бы. Используйте свой вложенный класс CResolution для установки разрешения экрана на новую высоту и ширину; но понимайте, что это будет работать только для комбинаций высоты и ширины, которые фактически поддерживает дисплей (800x600, 1024x768 и т.д., а не 817x435).

Ответ 5

Если вы хотите получить разрешение экрана, вы можете запустить следующий код в окне WPF (в окне будет указано this):

System.Windows.Media.Matrix m = PresentationSource.FromVisual(this).CompositionTarget.TransformToDevice;
Double dpiX = m.M11 * 96;
Double dpiY = m.M22 * 96;

Ответ 6

Я потратил много времени, пытаясь выяснить это, для устройств с коэффициентом масштабирования очень трудно получить фактический размер экрана из-за коэффициента масштабирования, иногда 125% или 150%, когда вызовы выполняются для объектов С# возвращаемое значение не является правильным сейчас, поэтому вам нужно сделать вызов Windows API, чтобы получить коэффициент масштабирования и применить множитель, единственный способ, который я нашел для не WPF-приложений, здесь

fooobar.com/info/123850/...