在我的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();
答案 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;
但是,您可以制作一个方法来执行此操作并传入按钮数组。我会创建一个所有按钮的本地表单数组,以便于访问。