#c# #winforms #background
Вопрос:
Я пытаюсь установить фоновое изображение в форме Windows. Как бы я поступил правильно, если бы речь шла о разных разрешениях и масштабировании экрана.
Я знаю, что могу установить фоновое изображение, используя этот фрагмент кода:
this.BackgroundImage = Properties.Resources.BackgroundImage
Я хочу, чтобы фоновое изображение заполнило всю форму. Я думаю, что нахожу правильные размеры, используя
this.ClientRectangle.Width
this.ClientRectangle.Height
в классе windows form.
Я могу растянуть изображение, чтобы заполнить весь фон этими цифрами, или я могу рассчитать разницу в соотношении и соответственно растянуть изображение, но сохранить соотношение сторон.
Чего я не понимаю, так это того, что происходит при масштабировании рабочего стола Windows со 100% до 125%, 150% или других параметров масштабирования, о которых сообщает:
this.ClientRectangle.Width
this.ClientRectangle.Height
Похоже, вы не сообщаете о цифре, которая похожа на увеличение в процентах.
При 100% — ном масштабе рабочего стола ширина составляет 704, но при 125% — ном масштабе рабочего стола ширина теперь составляет 802. При увеличении на 25% со 100% новое число должно было составить 880.
Не похоже, что я всегда смогу заполнить весь фон, если только я не растяну изображение или не буду использовать другие изображения.
Комментарии:
Ответ №1:
Попробуйте использовать this.BackgroundImageLayout
.
Например: this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;