【问题标题】:how to get BackgroundImage path of a button in c#如何在c#中获取按钮的BackgroundImage路径
【发布时间】:2012-08-02 03:20:15
【问题描述】:

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

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

【问题讨论】:

    标签: c# winforms image path


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      如果您使用 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);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-11-10
        • 2013-11-13
        • 2019-12-06
        • 1970-01-01
        • 2023-02-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多