Как динамически изменить фоновое изображение в C # .Net? - PullRequest
0 голосов
/ 13 июня 2011

Теперь я пытаюсь динамически изменить фоновое изображение MainForm. Я написал следующий фрагмент кода ...

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

Изображение, которое я хочу изменить, находится в моем текущем проекте. Но я не знаю, как использовать метод FromFile?

Ответы [ 5 ]

4 голосов
/ 13 июня 2011

Попробуйте что-то вроде этого:

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)); 
2 голосов
/ 13 июня 2011

Вы можете получить путь запуска приложения с этим кодом:

Application.StartupPath + "\yourimage"

или вы можете использовать

System.Reflection.Assembly.GetExecutingAssembly().Location + "\yourimage";
1 голос
/ 13 июня 2011

Пожалуйста, прочитайте документацию о методе FromFile здесь .

И если у вас есть изображение в вашем файле ресурсов, вы можете получить к нему доступ следующим образом:

this.BackgroundImage = Properties.Resources.yourImageName;
0 голосов
/ 10 мая 2016
  1. создать каталог с именем background, в котором находится ваш exe.
  2. скопировать фоновый jpg-файл в этот каталог
  3. добавить следующее в событие загрузки формы

    строка пути = System.IO.Directory.GetCurrentDirectory () + "\ background \";string filename = "back.jpg";this.BackgroundImage = Image.FromFile (Path.Combine (path, filename));

если вы изменили фоновый jpg-файл, сохранив то же имя файла, фон будет изменен.

0 голосов
/ 10 апреля 2013
OpenFileDialog dialog = new OpenFileDialog();

if (dialog.ShowDialog() == DialogResult.OK)
{
    this.BackgroundImage = Image.FromFile(dialog.FileName);
    this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...