Compartilhar via


Определение разрешения экрана на WM устройствах

Оригинал: https://blogs.msdn.com/priozersk/archive/2009/03/31/dimming-the-background.aspx 

Когда вы разрабатываете управляемые приложения для Windows Mobile, обращайте внимание на разрешение экрана вашего мобильного устройства, вам требуется проверять оба разрешения, как VGA (480x640) так и более старые QVGA (240x320). Если в свойстве AutoScaleMode вашей формы установленно значение Dpi, ваши контролы такие как TextBox’ы, Label’ы, кнопки и т.д. будут масштабированны автоматически. Тем не менее, если вы самостоятельно отрисовываете образы или утилизируете ImageList’ы, они не будут масштабированны автоматически. Вовремя выполнения программы вы можете достаточно просто определить разрешение экрана вашего телефона, использую следуший код:

  public static bool IsHighResolution(this Form form)

  {

       SizeF currentScreen = form.CurrentAutoScaleDimensions;

       if (currentScreen.Height == 192)

       {

            return true;

       }

       return false;

  }

Данный метод является расширением, который является частью класса ControlExtension из проекта ListViewDemo, который можно загрузить по следущей ссылке.

Если вы хотите использовать данный метод, это можно сделать следующим образом:

  private void HandleHiRes()

  {

       if (this.IsHighResolution())

       {

             this.imageList1.ImageSize = new Size(32 * 2, 32 * 2);

       }

  }

Используйте... J

Comments

  • Anonymous
    June 22, 2012
    Вместо if (a) {  return true; } return false; можно просто писать return a;