0

我正在尝试使用一种方法获取所有按钮的背景图像的路径,但我似乎无法获取路径。这是我的代码

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。顺便说一下,路径是静态的。

4

2 回答 2

1

你不能。加载位图后,位图对象会忘记路径,因为它不再需要它。

您可以创建一个新类并让它继承按钮。添加一个名为 BackgroundImagePath 的属性,该属性执行上述代码以设置基类(按钮)BackgroundImage。也将它存储在一个私有变量中,然后在属性 get 中咳出。

那是装的。但这是唯一的方法。

于 2012-08-02T03:30:50.653 回答
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);
于 2012-08-02T03:26:18.937 回答