C#使背景图像适合屏幕?

时间:2014-02-22 17:11:08

标签: c# winforms background resize

我决定在winforms应用程序中添加背景图像,我想知道如何让背景始终适合屏幕? (自动伸展)。

我有一个表单,用户可以调整它并选择自己的窗口大小,但我希望后台始终填充应用程序。我有一个巨大的背景壁纸,大约2000x1500分辨率,如果用户将窗体大小调整到大约500x500它只会显示壁纸的一小部分,我怎么能让它显示完整的壁纸,但分辨率较小?

我还没有发现任何相关内容,我也不知道从哪里开始。 有谁可以帮助我?

3 个答案:

答案 0 :(得分:7)

只需将表单BackgroundImageLayout设置为Stretch

这可能会导致闪烁,为了防止这种情况你可以(在ctor中):

this.SetStyle(
    ControlStyles.AllPaintingInWmPaint |
    ControlStyles.DoubleBuffer,
    true);

答案 1 :(得分:1)

将表单的BackgroundImageLayout()属性设置为“Stretch”或“Zoom”。

答案 2 :(得分:0)

private void MDIParent1_Load(object sender, EventArgs e)
    {
        BackgroundImage = System.Drawing.Image.FromFile("C:\\Users\\Downloads\\2137969.png");
        this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
    }