现在我正在尝试动态更改MainForm的backgroundimage。 我写了以下代码段......
this.BackgroundImage = Image.FromFile("Bar1.png");
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
我想要更改的图片位于我当前的项目中。 但我不知道如何使用FromFile方法?
答案 0 :(得分:4)
尝试这样的事情:
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));
答案 1 :(得分:2)
您可以使用以下代码获取应用程序启动路径:
Application.StartupPath + "\yourimage"
或者您可以使用
System.Reflection.Assembly.GetExecutingAssembly().Location + "\yourimage";
答案 2 :(得分:1)
请阅读有关FromFile方法here的文档。
如果您的资源文件中有图像,则可以像这样访问它:
this.BackgroundImage = Properties.Resources.yourImageName;
答案 3 :(得分:-1)
OpenFileDialog dialog = new OpenFileDialog();
if (dialog.ShowDialog() == DialogResult.OK)
{
this.BackgroundImage = Image.FromFile(dialog.FileName);
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
}
答案 4 :(得分:-1)
在表单加载事件中添加以下内容
string path = System.IO.Directory.GetCurrentDirectory()+" \ background \&#34 ;; string filename =" back.jpg&#34 ;; this.BackgroundImage = Image.FromFile(Path.Combine(path,filename));
如果您更改了保留相同文件名的背景jpg文件,则背景将会更改。