0

我有一个疑问。我有一个启动表单,这是我项目的第一个表单,我想在该表单关闭后更改该表单的背景图像。例如,我的软件启动和启动表单之后,在设置中我有一个功能来更改启动表单的背景图像。表单关闭时可以更改背景图片吗?(因为当用户输入设置表单时,我的启动表单已关闭)。

我已经编写了这个代码表单来更改背景图像,但我不知道如何在启动表单打开时更改表单图像,它应该打开从打开文件对话框更改图像。

我的代码是:

var FD = new System.Windows.Forms.OpenFileDialog();
            FD.Filter = "jpeg files|*.jpg";
            if (FD.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                string fileToOpen = FD.FileName;

                System.IO.FileInfo File = new System.IO.FileInfo(FD.FileName);
                BackgroundImage = Image.FromFile(FD.FileName); 
            }
4

2 回答 2

1

您从某处加载初始图像,然后只需将该图像替换为用户使用 OpenFileDialog 选择的图像,然后在下次显示初始图像时加载新图像。


编辑:进一步解释

一个解决方案的例子。将图像存储在与应用程序相同的文件夹中(例如:“splash.png”),然后您可以在 Splash Form Load 事件中加载它。现在,当用户想用打开的文件对话框替换设置中的图像时,您只需将所选文件复制到应用程序的文件夹(Application.StartupPath 应该为您提供应用程序文件夹的路径)并覆盖旧的启动画面。 png (也许您可以在覆盖或其他内容之前重命名旧的),然后下次加载应用程序时,这就是 Splash 表单将加载的图像。

这是一个可以改进的简单解决方案,但作为第一次尝试,它应该会产生您想要的结果。

于 2013-01-23T07:38:11.147 回答
1

好的,试试下面

您已经为启动画面设置了背景图像

eg : it location was  c:\sam.jpeg

现在在表单关闭事件上尝试以下代码

System.IO.File.Delete(@"C:\Sam.jpeg");
Image.FromFile(FD.FileName).Save(@"C:\Sam.jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);

现在它删除旧文件并将新图像设置为旧名称...

在重新加载时,它会显示新的背景图像...

于 2013-01-23T07:38:59.257 回答