Положение BackgroundImage в форме Windows
Я устанавливаю BackgroundImage
формы Windows для изображения 200 x 200 Форма 500 х 500. Я хочу, чтобы изображение было закреплено в правом нижнем углу формы. Однако единственный доступный мне вариант BackgroundImageLayout
свойство - установка этого значения в "Нет" приводит к тому, что изображение привязывается к левому верхнему углу. Как я могу это изменить?
Примечание: я использую.NET 2.0
2 ответа
Просто нарисуйте его самостоятельно в методе OnPaintBackground(). Добавьте изображение к ресурсам (я назвал его BkgImage) и сделайте код формы похожим на это:
public Form1() {
InitializeComponent();
backgroundImage = Properties.Resources.BkgImage;
this.DoubleBuffered = true;
this.SetStyle(ControlStyles.ResizeRedraw, true);
}
private Image backgroundImage;
protected override void OnPaintBackground(PaintEventArgs e) {
base.OnPaintBackground(e);
var rc = new Rectangle(this.ClientSize.Width - backgroundImage.Width,
this.ClientSize.Height - backgroundImage.Height,
backgroundImage.Width, backgroundImage.Height);
e.Graphics.DrawImage(backgroundImage, rc);
}
Вы не можете сделать это с BackgroundImageLayout.
Однако то, что вы можете сделать, это добавить PictureBox, закрепить его справа внизу и установить для него самое низкое значение z. Это привело бы в значительной степени к запрошенному эффекту.