让用户更改表单背景图像。关闭后将背景图像保存在内存中。在表单加载上加载背景图像

时间:2017-10-26 16:06:13

标签: c# winforms

所以,我在Visual Studio 2017中创建了一个操作系统并添加了"更改背景"选项。所以,这是我按钮的代码:

private void changeDesktopBackgroundToolStripMenuItem_Click(object sender, EventArgs e)
    {
        OpenFileDialog dialog = new OpenFileDialog();

        if (dialog.ShowDialog() == DialogResult.OK)
        {
            this.BackgroundImage = Image.FromFile(dialog.FileName);
            this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
        }
    }

我希望下次加载表单时保存背景图像。我怎样才能做到这一点?我认为它与MemoryStream有关。

1 个答案:

答案 0 :(得分:0)

您无法将图像保存在内存中。想想真实的操作系统:
如果您的计算机已关闭,则内存中的所有数据都将消失。 您必须将图像保存到其中一个硬盘上 因此你可以使用这个:

Image.Save(string filepath);

当您加载操作系统(在您的情况下加载表单)时,您可以检查图像是否存在。如果它是你从硬盘驱动器加载它并设置为背景。如果文件不存在,则设置默认的backgroundimage。
您可以使用以下代码加载图像:

Image.FromFile(string filePath);