簡體   English   中英

如何在另一個窗體上使用打開文件對話框更改窗體的背景圖像

[英]how to change the background image of a form using open file dialog on another form

我有一個查詢。 我有一個初始表單,它是項目的第一個表單,我想在關閉表單后更改該表單的背景圖像。 例如,我的軟件在啟動表單后啟動,在設置中,我具有更改啟動表單的背景圖像的功能。 關閉表單后可以更改背景圖像嗎? (因為當用戶輸入設置表單時,我的啟動表單已關閉)。

我已經編寫了此代碼表單來更改背景圖像,但是我不知道如何在啟動表單打開時更改表單圖像,它應該從打開文件對話框中打開更改圖像。

我的代碼是:

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

                System.IO.FileInfo File = new System.IO.FileInfo(FD.FileName);
                BackgroundImage = Image.FromFile(FD.FileName); 
            }

您可以從某個位置加載啟動圖像,因此只需用OpenFileDialog用用戶選擇的圖像替換該圖像,然后在下次顯示啟動圖像時加載新圖像。


編輯:進一步的解釋

解決方案的一個例子。 將圖像存儲在與應用程序相同的文件夾中(例如:“ splash.png”),然后您可以在例如Splash Form Load事件中加載圖像。 現在,當用戶要使用打開的文件對話框替換設置中的圖像時,只需要將選擇的文件復制到應用程序的文件夾中(Application.StartupPath應該可以找到應用程序文件夾的路徑)並覆蓋舊的啟動名。 png(也許您可以在覆蓋之前重命名舊的東西),然后在下次加載應用程序時,即為Splash表單加載的圖像。

這是一個簡單的解決方案,可以改進,但是首先嘗試它應可產生所需的結果。

確定嘗試以下

您已經為初始屏幕設置了背景圖片

eg : it location was  c:\sam.jpeg

現在在表單關閉事件上嘗試以下代碼

System.IO.File.Delete(@"C:\Sam.jpeg");
Image.FromFile(FD.FileName).Save(@"C:\Sam.jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);

現在它刪除舊文件,並以舊名稱設置新圖像...

重新加載時會顯示新的背景圖片...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM