如何在Winforms C#中获取按钮背景图像的名称

时间:2012-02-08 11:28:06

标签: c# .net winforms button resources

我在Form中将图像添加到资源中,并将其设置为按钮的背景图像。 如何通过程序化获取按钮背景图像的名称。

2 个答案:

答案 0 :(得分:3)

您无法检索图像的名称。

您可以做的是设置图像时:将图像的名称存储在Button的Tag属性中。

只要您将Tag属性与图像保持同步,就可以检查Tag属性。

更好的方法是对Button进行子类化并添加一个存储名称的属性。

答案 1 :(得分: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);

然后你已经拥有了资源的名称......

如果它没有回答你的问题,那么请更清楚。