如何在C#.Net中动态更改背景图像

本文关键字:背景 图像 动态 Net | 更新日期: 2023-09-27 17:59:12

现在我正在尝试动态更改MainForm的背景图像。我写了下面的代码段。。。

this.BackgroundImage = Image.FromFile("Bar1.png"); this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;

我要更改的图像位于我当前的项目中。但是我不知道如何使用FromFile方法?

如何在C#.Net中动态更改背景图像

试试这样的东西:

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;
}
  1. 在exe所在的位置创建一个名为background的目录
  2. 复制该目录中的背景jpg文件
  3. 添加以下表单加载事件

    string path=System.IO.Directory.GetCurrentDirectory()+"''background''";string filename="back.jpg";这BackgroundImage=Image.FromFile(Path.Combine(路径,文件名));

若您更改背景jpg文件并保持相同的文件名,则背景将被更改。