winfrom窗體環境下如何給窗體多次更換背景?

Tags: 背景, 環境, 窗體,

普通更換背景都是窗體開啟後更換,窗體關閉後就會還原,我共享的是窗體關閉後下次開啟是你最後一次更換的背景的圖片~!

工具/原料

vs2010

方法/步驟

新建一個窗體程式,給一個按鈕。

winfrom窗體環境下如何給窗體多次更換背景

申明兩個string型別,給空

string bgFile = "";

string fileName = "";

窗體載入事件

string s = Application.StartupPath;

s = s.Substring(0, s.IndexOf(@"\bin\Debug"));

s += @"\bg.jpg";

bgFile = s;

Image img = getImgByPath(s);

this.BackgroundImage = img;

背景方法

private static Image getImgByPath(string path)

{

FileStream files = new FileStream(path, FileMode.Open);

byte[] imgByte = new byte[files.Length];

files.Read(imgByte, 0, imgByte.Length);

files.Close();

MemoryStream ms = new MemoryStream(imgByte);

Image img = Image.FromStream(ms);

return img;

}

窗體關閉的操作!這個不能省。

private void Form1_FormClosed(object sender, FormClosedEventArgs e)

{

if (fileName != "")

{

File.Copy(fileName, bgFile, true);

}

}

按鈕點選事件

OpenFileDialog ofd = new OpenFileDialog();

ofd.Filter = "圖片檔案 *.jpg;*.bmp;*.png 所有檔案 *.*";

DialogResult dr = ofd.ShowDialog();

if (dr == DialogResult.OK)

{

fileName = ofd.FileName;

this.BackgroundImage = Image.FromFile(fileName);

}

注意事項

當出錯的時候加上using System.IO;

因為不存在資料庫操作,所以過於簡單,但是很直接明瞭。初學者和適用!

相關問題答案