我有个疑问。我有一个启动窗体,这是我的项目的第一个窗体,我想在关闭后更改该窗体的背景图像。例如,我的软件启动,在启动启动窗体之后,在设置中,我有一个函数来更改启动窗体的背景图像。当窗体关闭时,我可以更改背景图像吗?(因为当用户进入设置窗体时,我的启动窗体被关闭)。
我已经写了这个改变背景图像的代码窗体,但是我不知道如何改变窗体图像,当启动窗体打开时,它应该打开,从打开的文件对话框中改变图像。
我的代码是:
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);
}
发布于 2013-01-23 15:38:59
好的,试试下面的
您已经为启动画面设置了背景图像
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-23 15:38:11
您从某个地方加载启动图像,因此只需将该图像替换为用户使用OpenFileDialog选择的图像,然后下一次显示启动图像时将加载新图像。
编辑:更多说明
一个解决方案的示例。将图像存储在与应用程序相同的文件夹中(例如:"splash.png"),然后可以将其加载到例如Splash Form load事件中。现在,当用户想要用打开的文件对话框替换设置中的图像时,您只需将选定的文件复制到应用程序的文件夹(Application.StartupPath应该会给您提供应用程序文件夹的路径)并覆盖旧的splash.png (也许您可以在覆盖之前重命名旧的文件或其他内容),然后在应用程序下一次加载时,这就是启动窗体将加载的图像。
这是一个可以改进的简单解决方案,但作为第一次尝试,它应该会产生您想要的结果。
https://stackoverflow.com/questions/14474511
复制相似问题