2012-08-02 80 views
0

我想使用方法獲取所有按鈕的backgroundimage的路徑,但我似乎無法獲取路徑。這是我的代碼如何獲取c中按鈕的BackgroundImage路徑#

b1.BackgroundImage = Image.FromFile(C:\\Users\\m\\Documents\\Visual Studio 
2010\\Projects\\PApp\\Papp\\1.jpg) ; 

b2.BackgroundImage = Image.FromFile(C:\\Users\\m\\Documents\\Visual Studio 2010\\Projects\\PApp\\Papp\\2.jpg) ; 

Console.WriteLine(b2.BackgroundImage); 
Console.WriteLine(b1.BackgroundImage); 

我可以顯示在按鈕圖像,但我希望它顯示在控制檯的路徑,但所有我得到的是System.Drawing.Bitmap。路徑是靜態的。

回答

1

你不能。一旦加載位圖,位圖對象會忘記路徑,因爲它不再需要它。

您可以創建一個新類並讓它繼承按鈕。添加一個名爲BackgroundImagePath的屬性,該屬性執行上述代碼來設置基類(按鈕)BackgroundImage。還可以將它變成私人變量,並在房產中得到咳嗽。

這是騙人的。但這是唯一的方法。

0

如果你使用的WinForms設計師設置BackgroundImage屬性時,Visual Studio已經在了.Designer.cs生成的文件爲你下面一行:

this.button1.BackgroundImage = global::WindowsFormsApplication5.Properties.Resources.my_image_name; 

正如你可以看到,它的影響的值請將System.Drawing.Bitmap類型爲System.Drawing.Image類型的屬性。你在這裏唯一的信息就是圖像本身。

如果您添加自己的形象:

string resourceKey = "my_image_name"; 
this.button1.BackgroundImage = (System.Drawing.Image)Properties.Resources.ResourceManager.GetObject(resourceKey);