获取默认按钮属性C# - Windows窗体

时间:2010-07-20 08:38:16

标签: c# .net winforms

在我的Form1中,我试图更改大约50个按钮图像,如下所示:

                button1.Image = new Bitmap("C:\\x.jpg");
                button2.Image = new Bitmap("C:\\y.jpg");
                button3.Image = new Bitmap("C:\\z.jpg");
              ..... 

等...

在另一个事件上我希望所有50个按钮都有我使用设计器属性窗口设置的默认图像。这是可能的还是我应该再次声明图像???

我尝试了什么并且没有工作:

尝试了两个:

Properties.Settings.Default.Reset();
Properties.Settings.Default.Reload();

2 个答案:

答案 0 :(得分:2)

如果您不缓存原始属性,则需要从资源中重新加载它们:

var resources = 
    new System.ComponentModel.ComponentResourceManager(typeof(Form1));
button1.Image = (Image)resources.GetObject("button1.Image");
button2.Image = (Image)resources.GetObject(button2.Name + ".Image");
...

或者,如果要重新加载所有组件属性:

var resources =
    new System.ComponentModel.ComponentResourceManager(typeof(Form1));
resources.ApplyResources(button1, "button1");
resources.ApplyResources(button2, button2.Name);
...

答案 1 :(得分:1)

您需要再次手动设置图像:

foreach (Button b in buttons)
    b.Image = _defaultImage;

但是,您可以制作一个方法来执行此操作并传入按钮数组。我会创建一个所有按钮的本地表单数组,以便于访问。