как получить название кнопки фонового изображения в Winforms C # - PullRequest
5 голосов
/ 08 февраля 2012

Я добавил изображение в ресурс в форме и установил его в качестве фонового изображения для кнопки. Как получить название фонового изображения кнопки через programmatic .?

Ответы [ 2 ]

3 голосов
/ 08 февраля 2012

Вы не можете получить имя изображения.

То, что вы можете сделать, это когда вы устанавливаете изображение: сохраните имя изображения в свойстве Tag кнопки.

После этого вы можете проверить свойство Tag, если синхронизировать его с изображением.

Еще приятнее было бы выделить подкласс Button и добавить свойство, в котором хранится имя.

0 голосов
/ 08 февраля 2012

Если вы установили свойство BackgroundImage с помощью конструктора Winforms, 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);

тогда у вас уже есть название вашего ресурса ...

Если он не отвечает на ваш вопрос, то, пожалуйста, проясните его.

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