2012-12-09 26 views
2

我正在嘗試爲我的Windows Froms應用程序添加一個選項,該選項將允許用戶將特定窗體的背景從他的計算機更改爲圖片(讓我們說一個.png類型的文件)...使用外部文件設置窗體的背景圖像-Windows Forms

如何從計算機獲取文件並將其「轉換」爲圖像類型?我需要以某種方式將它添加到properties.resources庫嗎? (如果是這樣,如何?)。

我試圖做到這一點(很明顯,它不工作...):

var FD = new System.Windows.Forms.OpenFileDialog(); 
FD.Filter = "png files|*.png"; 
if (FD.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
{ 
    string fileToOpen = FD.FileName; 

    System.IO.FileInfo File = new System.IO.FileInfo(FD.FileName); 
    BackgroundImage = FD.OpenFile(); 
} 
+0

如果您希望在用戶關閉應用程序並重新打開該應用程序時使用該圖像,則必須找到一種方法來保存圖像文件及其路徑。檢查出答案[這裏](http://stackoverflow.com/questions/1435037/how-should-i-store-per-user-data-in-winforms) – DOK

+0

不是我所需要的,但無論如何幫助...謝謝! – omi

回答

1

替換該行

 BackgroundImage = FD.OpenFile(); 

這一個

 BackgroundImage = Image.FromFile(FD.FileName); 
+0

任何方式我可以將其添加到資源? – omi

+0

在這裏你可以找到關於該信息:http://msdn.microsoft.com/en-us/library/gg418542.aspx – Vlad

0

嘗試這將以下列格式繪製加載的圖像:

OpenFileDialog openDialog = new OpenFileDialog(); 
if (openDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
{ 
    Graphics graphics = this.CreateGraphics(); 
    Image image = new Bitmap(openDialog.FileName); 
    graphics.DrawImage(image, new Point(0, 0)); 
} 

如果需要,您可以添加過濾器選項。