最好的辦法是add an ApplicationSettings在您的項目屬性的設置選項卡。
致電此屬性,例如"ImagePath"
,並將此屬性設置爲您的默認開發路徑。
完成之後,您的app.config文件(編譯爲YourApplicationName.exe.Config
時)將包含您的默認路徑的值。
<applicationSettings>
<YourAppNamespace.Properties.Settings>
<setting name="ImagePath" serializeAs="String">
<value>C:/Users/user/Documents/College Work/4th ......</value>
</setting>
<(YourAppNamespace.Properties.Settings>
</applicationSettings>
該文件將隨您的應用程序一起發佈,您可以使用部署過程更改該路徑。
在代碼中,你可以參考使用
string imagePath = Properties.Settings.Default.ImagePath;
pictureBox2.Image = Image.FromFile(Path.Combine(imagePath, Quiz1FromFile.Q1Ans, ".jpg"));
這樣,你不要硬代碼路徑在應用程序內的圖像文件夾中存儲的配置文件的路徑和你不需要處理相對路徑。您只需將目標機器上的此值設置爲圖像文件的存儲。
看看下面的兩個答案。兩者都是有效的。但這取決於你想做什麼。你是否希望你的應用程序總是查看特定的相對路徑,或者你想擁有任意的路徑?如果任意路徑,添加'app.config'文件並使用設置。如果你想要靜態相對路徑,使用'Environment.CurrentDirectory'並從那裏開始。所以如果你的圖像總是在你的bin \ images中,你將需要編寫'Image.FromFile(Path.combine(Environment.CurrentDirectory,「images」,「image1.jpeg」))' –
我同意@ T.S。因爲對於桌面應用程序,你無法控制它如何啓動(工作目錄),那麼使用相對路徑是不安全的(如果工作目錄不符合你的預期,它將會中斷)。使用絕對路徑更安全。 –