возврат свойств кнопки по умолчанию C # - Windows формы - PullRequest
1 голос
/ 20 июля 2010

В моей Форме1 я пытаюсь изменить около 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 ]

2 голосов
/ 20 июля 2010

Если вы не кэшируете исходные свойства, вам необходимо перезагрузить их из ресурсов:

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 голос
/ 20 июля 2010

Вам нужно будет снова вручную установить изображение:

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

Однако вы можете сделать небольшой метод, который делает это и передает массив ваших кнопок.Я бы сделал локальный массив форм всех кнопок для легкого доступа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...