如何在C#.Net中动态更改背景图像
本文关键字:背景 图像 动态 Net | 更新日期: 2023-09-27 17:59:12
现在我正在尝试动态更改MainForm的背景图像。我写了下面的代码段。。。
this.BackgroundImage = Image.FromFile("Bar1.png");
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
我要更改的图像位于我当前的项目中。但是我不知道如何使用FromFile方法?
试试这样的东西:
string path = System.IO.Path.GetDirectoryName(
System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase );
string filename="yourfilename";
this.BackgroundImage = Image.FromFile(Path.Combine(path ,filename));
或:
string customPath = "d:'testpath";
string filename="yourfilename";
this.BackgroundImage = Image.FromFile(Path.Combine(customPath ,filename));
您可以使用以下代码获得应用程序启动路径:
Application.StartupPath + "'yourimage"
或者你可以使用
System.Reflection.Assembly.GetExecutingAssembly().Location + "'yourimage";
请在此处阅读有关FromFile方法的文档。
如果你的资源文件中有图像,你可以这样访问:
this.BackgroundImage = Properties.Resources.yourImageName;
OpenFileDialog dialog = new OpenFileDialog();
if (dialog.ShowDialog() == DialogResult.OK)
{
this.BackgroundImage = Image.FromFile(dialog.FileName);
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
}
- 在exe所在的位置创建一个名为background的目录
- 复制该目录中的背景jpg文件
-
添加以下表单加载事件
string path=System.IO.Directory.GetCurrentDirectory()+"''background''";string filename="back.jpg";这BackgroundImage=Image.FromFile(Path.Combine(路径,文件名));
若您更改背景jpg文件并保持相同的文件名,则背景将被更改。